首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用参数循环ThreadGroup

用参数循环ThreadGroup
EN

Stack Overflow用户
提问于 2016-06-30 11:48:40
回答 1查看 1.8K关注 0票数 1

我想用不同参数化的REStful来着重测试JMeter API,并根据用于REST调用的用户数量和参数捕获响应时间:

代码语言:javascript
复制
             | 10 User | 100 Users | 1000 Users 
Parameters A |‾‾‾‾‾‾‾‾‾|‾‾‾‾‾‾‾‾‾‾‾|‾‾‾‾‾‾‾‾‾‾‾‾
Parameters B |‾‾‾‾‾‾‾‾‾|‾‾‾‾‾‾‾‾‾‾‾|‾‾‾‾‾‾‾‾‾‾‾‾
Parameters C |‾‾‾‾‾‾‾‾‾|‾‾‾‾‾‾‾‾‾‾‾|‾‾‾‾‾‾‾‾‾‾‾‾

因此,除了参数和用户数之外,我的HTTP请求总是相同的。我目前(糟糕的)方法是一个线程组,每个组合的用户和参数都有一个硬编码的线程数。但我认为有更好的方法可用,利用变量。

有关于清洁执行的建议吗?

编辑:基本上,我试图实现以下嵌套的for loops

代码语言:javascript
复制
for (param in parameters) {
    for (numReq in users) {
        executeRequest(param, numReq)
        // execute *numReq* simultaneous requests with the parameters of param
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-06-30 19:41:53

JMeter线程组是在JMeter启动期间初始化的,因此不幸的是,您将无法使用JMeter变量,因为它们是在读取和应用之后才使用的。

但是,您可以选择JMeter属性。例如,您可以使用P()函数定义用户数,例如:

代码语言:javascript
复制
${__P(threads,)}

然后,您将能够通过-J命令行参数定义线程号,如下所示:

代码语言:javascript
复制
jmeter -Jthreads=100 -n -t test.jmx -l result.jtl 

有关Apache JMeter属性自定义指南属性和使用它们的方法的更多信息,请参见JMeter。

如果您使用的是JMeter插件,您也可以考虑尝试一下,即步进螺纹组

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38122215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档