使用JMeter中值列表中的请求值

| 我确定我过去已经做过,但是以某种方式我无法弄清楚;-) 所以,这是我的问题: 我正在尝试创建一个JUnit测试计划,在该计划中,每次迭代都通过更改特定参数来修改HTTP请求。因此,例如,在五次迭代中,我希望发出以下HTTP请求:
http://localhost:8080/test/foo.html?id=1
http://localhost:8080/test/foo.html?id=2
http://localhost:8080/test/foo.html?id=3
http://localhost:8080/test/foo.html?id=4
...
我想为测试计划全局配置标识符值,并在HTTP请求采样器中使用它们,如下所示:
Path: /test/foo.html?id=${categoryId}
现在的问题:如何全局配置标识符值(我不想使用
StringFromFile
)以及如何在采样器中引用它们?     
已邀请:
        有几种方法可以做到这一点。 如果您仅递增,则可以使用计数器元素 您可以使用任意数量的函数来计算值 您可以读取CSV文件,其效果与\“ StringFromFile \”相同,但更易于自定义和操作 假设您有一系列值,则可以: 尝试预处理器“用户 参数\”,创建一个条目 对于每个用户/循环 使用一个Beanshell 创建数组的脚本,选择 一个随机填充您的 变量 您完全按照列出的方式引用它们:
${varName}
    
        关于实施“ 4”。 假设您可以轻松地实现您的方案,例如BeanShell Sampler / BeanShell PostProcessor带有一些代码。 例如。: 设置您的源变量(例如,通过用户定义的变量): 名称值 类别3,2,54,42,37 (即,使用逗号作为分隔符,逗号前后不得有空格)。 将add BeanShell Sampler / PostProcessor与以下代码一起使用: 导入java.util.Random; String []类别=(vars.get(\“ categories \”))。split(\“,\”); int idx = new Random()。nextInt(categories.length); 字符串类别=(categories [idx]); vars.put(\“ categoryId \”,category); 在脚本中随机选择的表单列表值中进一步参考
${categoryId}
。     
        要从列表中获取随机变量值,请先将带有前缀和增量索引的列表或可用值声明为User变量:
country_1     Spain 
country_2     France  
country_3     Portugal  
country_4     Italy 
country_5     England
然后,您可以从列表中获得一个随机值,该列表将前缀与区间中的随机索引连接起来:
${__V(country_${__Random(1,6,)})}  --> \"Spain\", \"France\", \"Portugal\", etc...
请看此答案以获取完整说明。     
        没有变量的最简单解决方案可以使用
vars.getIteration()
完成:
/test/foo.html?id=${__groovy(vars.getIteration())}
    

要回复问题请先登录注册