2013-05-09 2 views
0

У меня возникли проблемы, как мне помещать это в тест JMeter и гарантировать, что все мои номера клиентов, назначенные каждому потоку, используются?JMeter - Итеративное использование переменных через CSV

Мой нагрузочный тест ...

• Есть 12 запросов SOAP (12 х RequestTypes), которые должны быть отправлены одновременно для каждого клиента. Заказчик отличается от CustomerNumber в запросе SOAP. Например:

<Execute> 
<UserCredentials></UserCredentials> 
<CustomerNumber></CustomerNumber> 
<RequestType></RequestType> 
</Execute> 

• У меня есть 3 пользователей потоков, и каждый пользователь нить каждый из них имеет определенный список клиентов, например:

Thread 1 has customer list – A, D, G, J, … 
Thread 2 has customer list – B, E, H, K, … 
Thread 3 has customer list – C, F, I, L, … 

• волосок не может отправить еще один набор 12 SOAP запрос на другого клиента, если только ответ не был получен для всех своих предыдущих 12 запросов SOAP для клиента (не имеет значения, является ли этот ответ SOAP или заявлением неудачей)

• Номер Номер клиента и соответствующие UserCredentials будут сохранены в CSV-файле.

• Пользователь потока должен использовать свои собственные учетные данные в запросе SOAP.

• Запросы на отправку должны заканчиваться только после отправки всех номеров клиентов для каждой темы в файлах CSV.

я в настоящее время:

Test Plan 
| 
-Thread Group 
    | 
    - User Parameters 
     *UserCredentials 
     *CustomerNumbers 
    | 
    - Loop Controller 
     | 
     - Request 1 
     - Request 2 
     ... 
     - Request 12 

В пользовательских параметрах я следующее:

Name:    User_1      User 2      User 3 
UserCredentials  ${__CSVRead(users.csv,0)}  ${__CSVRead(users.csv,1)}  ${__CSVRead(users.csv,2)} 
CustomerNumbers  ${__CSVRead(cust.csv,0)}  ${__CSVRead(cust.csv,1)}  ${__CSVRead(cust.csv,2)} 

Я посылаю 3 пользователей нить в одно время, каждая отправка 12 запросов. Там, где каждый пользователь потока имеет список n пациентов.

Проблема в том, что контроллер Loop установлен на 2, я бы ожидал, что во втором прогоне для каждого потока он подберет вторую строку для CustomerNumber, но это не так.

Любая помощь была бы принята с благодарностью!

ответ

0

Чтобы ответить на мой собственный вопрос:

Thread Group 
*Number of Threads = n 
*Loop Count = Forever 
| 
- CSV Data Set Config 
    *Filename = cust${__threadNum}.csv  (where i separated my cust.csv file into n number of files) 
    *Stop of thread EOF = true (others on False) 
    *All threads sharing mode 
- Loop Controller 
    | 
    - Request 1 
    - Request 2 
    ... 
    - Request 12 
    - User Parameters 
    *User Credentials 
Смежные вопросы