1

我遇到了jmeter测试的问题。通过Blazemeter运行Jmeter测试金牛座和Jenkins

我正在使用Blazemeter Taurus(bzt命令)来运行它,并将它作为Jenkins作业运行。 我的问题是: 我创建用户定义的值,这是我设置为属性的JMeter所以我可以通过他们的命令行PARAMS: example for a property I set

问题发生时,我通过一些: BZT -o模块。 jmeter.properties.profileId = 413 -o modules.jmeter.properties.lab = 8050

这些被解析为8050.0和413.0 因为“实验室”参数被嵌入到一个url中,它会中断url。

当使用jmeter命令通过命令行运行时,这可以正常工作。

我试图解决这个工作有豆壳取样,做以下操作:

int a = Integer.parseInt(vars.get(${lab})); 
String raw = String.ValueOf(a); 
String processed = raw.substring(0,5);  


vars.putObject("lab" ,new String(processed)); 
props.put("lab", lab); 
log.info("this is the new " + ${lab}); 

但这种失败。 任何帮助,将不胜感激。

回答

1
  1. 在问候金牛座问题 - 通过Taurus support forum
  2. 报告它在关于BeanShell的解决办法 - 你的代码是不是很正确,则需要进行如下修改它:

    int lab = (int)Double.parseDouble(props.get("lab")); 
    int profileId = (int)Double.parseDouble(props.get("profileId")); 
    
    props.put("lab", String.valueOf(lab)); 
    props.put("profileId", String.valueOf("profileId")); 
    
    log.info("lab=" + lab); 
    log.info("profileId=" + profileId); 
    

因为通过-o modules.jmeter.properties传递的东西应通过props速记访问,而不是vars

演示:

Beanshell props manipulation Demo

How to Use BeanShell: JMeter's Favorite Built-in Component指南的详细信息,使用JMeter的和Java API从JMeter测试的BeanShell测试元件。

+0

谢谢@Dmitri T.我会在下周检查一下,看看问题是否解决。我会更新。 –