Apache JMeter-通过CSV迭代使用变量
我遇到了问题,如何将其放入JMeter测试中,并确保分配给每个线程的所有客户号都被使用 我的负载测试 •每个客户需要同时发送12个SOAP请求(12个请求类型)。通过SOAP请求中的CustomerNumber来区分客户。 例如:Apache JMeter-通过CSV迭代使用变量,apache,jmeter,performance-testing,Apache,Jmeter,Performance Testing,我遇到了问题,如何将其放入JMeter测试中,并确保分配给每个线程的所有客户号都被使用 我的负载测试 •每个客户需要同时发送12个SOAP请求(12个请求类型)。通过SOAP请求中的CustomerNumber来区分客户。 例如: <Execute> <UserCredentials></UserCredentials> <CustomerNumber></CustomerNumber> <RequestType></
<Execute>
<UserCredentials></UserCredentials>
<CustomerNumber></CustomerNumber>
<RequestType></RequestType>
</Execute>
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还是应用程序故障)
•CustomerNumber和相应的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个患者的列表
问题是,我将循环控制器设置为2,我希望在每个线程的第二次运行时,它将拾取CustomerNumber的第二行,但它没有
任何帮助都将不胜感激 回答我自己的问题:
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