如何在jmeter中捕获线程特定的不同数据表单下拉列表?

时间:2014-06-16 06:40:50

标签: jmeter

我的应用程序包括选择标题下拉列表包含值,Mr,Miss,Dr&夫人

我想为不同的线程捕获不同的标题(随机但是从4以上)。请提出建议。

这是我的脚本,我将title参数作为$ {randomTitle}

传递

enter image description here

值传递给数据库, enter image description here

发布请求, enter image description here

3 个答案:

答案 0 :(得分:1)

您可以使用Beanshell预处理器:

import java.util.Random;

public enum frm_titles {"Mr", "Miss", "Dr", "Mrs"};
Random randGenerator = new Random();
int randInt = randGenerator.nextInt(frm_titles.values().length);
vars.put("randomTitle",frm_titles.values()[randInt].toString());

然后,在您的测试计划中更改帖子参数并添加${randomTitle}而不是您的标题参数。

查看此链接以获取更多信息:

http://www.beanshell.org/manual/quickstart.html

http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler

http://jmeter.apache.org/usermanual/functions.html

http://testeverythingqtp.blogspot.com.es/2013/01/jmeter-bean-shell-script-create-file.html

http://jmeter-kh.blogspot.com.es/2009/07/how-to-make-beanshell-work-in-jmeter.html

答案 1 :(得分:1)

出于兴趣,在那里使用枚举是否至关重要?

尝试按如下方式修改您的代码:

import java.util.Random;

String[] frm_titles = {"Mr", "Miss", "Dr", "Mrs"};
Random randGenerator = new Random();
int randInt = randGenerator.nextInt(frm_titles.length);
vars.put("randomTitle",frm_titles[randInt]);

它应该以这种方式工作。如果需要使用枚举结构,则枚举不能是Beanshell解释器的本地 - 将其编译为.jar并将其放在JMeter类路径中。

有关Apache JMeter中Beanshell脚本的更多详细信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南。

答案 2 :(得分:-1)

我认为有两种方法可以,

  1. 你可以试试beanshell processor
  2. 你可以试试正则表达式提取器和计数器
  3. 第一种方法最好在上面解释,对于第二种方法,你可以尝试,

    Random product selection using Jmeter

相关问题