我是新来的。我正在尝试通过设置多个线程来测试我的应用程序的一个功能,使用步进线程组。不知怎么的,我设法得到了文件夹创建的示例-1,样本-2等等,其中1,2。HTTP请求的threads.One数量是否要求具有文件路径作为json parameter.Is的正文数据,是否有任何方式访问post正文数据中的threadNum函数,或者可以通过任何其他方式更改每个线程的文件路径参数而不手动更改它?
我的身体数据看起来是:{“filePath”:“Sam-1/file-1.txt”,"id":123},{“filePath”:“Sam-2/file-2.txt”,“id”:124}.
发布于 2016-01-28 19:33:18
您可以在请求中直接这样做,也可以将其设置为计划中的预处理器或后处理器中的变量。
[{"filePath":"sample-${__threadNum}/file-${__threadNum}.txt", "id":123},{"filePath":"sample-${__javaScript(${threadNum}+1)}/file-${__javaScript(${threadNum}+1)}.txt", "id":124}....}]这也适用于:
[{"filePath":"sample-${__BeanShell(ctx.getThreadNum())}/file-${__BeanShell(ctx.getThreadNum())}.txt", "id":123},{"filePath":"sample-${__BeanShell(ctx.getThreadNum()+1)}/file-${__BeanShell(ctx.getThreadNum()+1)}.txt", "id":124}....}]但是,在测试计划开始时,最好将线程号存储在变量中,并像其他任何jMeter变量一样调用它。
在前一次请求中的后处理程序中,您将执行如下操作:
var threadNum = ctx.getThreadNum()
var path = 'sample-'+threadNum+'/file-'+threadNum+'.txt'
vars.put('path', path)
vars.put('threadID', threadNum.toString()) 请记住,getThreadNum()基于0,而${threadNum}基于1。
https://stackoverflow.com/questions/35068550
复制相似问题