per*_*ian 18 java testing web-testing 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
...
Run Code Online (Sandbox Code Playgroud)
我想为测试计划全局配置标识符值,并在HTTP请求采样器中使用它们,如下所示:
Path: /test/foo.html?id=${categoryId}
Run Code Online (Sandbox Code Playgroud)
现在的问题:我如何配置标识符值全局(我不希望使用StringFromFile),以及如何引用它们的采样?
Bla*_*aff 18
有几种方法可以做到这一点.
鉴于您有一系列值,您可以:
您完全按照列出的方式引用它们: ${varName}
Ali*_*lik 17
关于实施${__StringFromArrayAtRandomIndex('3', '2', '54', '42')}.
假设您可以使用例如BeanShell Sampler/BeanShell PostProcessor和一些代码轻松实现您的场景.
例如:
设置源变量(通过例如用户定义变量):
Name Value categories 3,2,54,42,37
(即使用逗号作为分隔符,逗号前后不能有空格).
使用以下代码添加BeanShell Sampler/PostProcessor:
import java.util.Random;
String[] categories = (vars.get("categories")).split(",");
int idx = new Random().nextInt(categories.length);
String category = (categories[idx]);
vars.put("categoryId", category);
${categoryId}.要从列表中获取随机变量值,首先将列表或可用值声明为用户变量,并使用前缀和增量索引:
country_1 Spain
country_2 France
country_3 Portugal
country_4 Italy
country_5 England
Run Code Online (Sandbox Code Playgroud)
然后,您可以从列表中获取随机值,该列表将前缀与区间中的随机索引连接起来:
${__V(country_${__Random(1,6,)})} --> "Spain", "France", "Portugal", etc...
Run Code Online (Sandbox Code Playgroud)
请仔细阅读此答案以获得完整说明.
| 归档时间: |
|
| 查看次数: |
35698 次 |
| 最近记录: |