如何在运行测试时使用BeanShell服务器修改Jmeter的用户属性

时间:2018-03-06 07:49:08

标签: jmeter load-testing beanshell

我想在运行测试时实时控制吞吐量。 如何使用BeanShell服务器执行此操作?

基本上我想要更新用户属性'吞吐量' (在测试运行时,从命令行使用恒定吞吐量计时器。

解决方案: 根据德米特里的回答,我做了以下几点:
1.我添加到user.properties

beanshell.server.port=9000  
beanshell.server.file=beanshell.server.file=/home/sam/JMeter/apache-jmeter-4.0/extras/startup.bsh
  1. 开始JMeter和我的测试。
  2. 在终端执行此命令:
    ~/JMeter/apache-jmeter-4.0$ java -jar lib/bshclient.jar localhost 9000 /home/sam/JMeter/beanshell/setthroughput.bsh 100
  3. throughput属性的值现在为100.太棒了!

1 个答案:

答案 0 :(得分:1)

  1. 将下两行添加到 user.properties 文件中:

    beanshell.server.port=9000
    beanshell.server.file=../extras/startup.bsh
    
  2. 重新启动JMeter以选择设置
  3. 使用__P()函数在常量吞吐量计时器中设置throughput属性,如:

    ${__P(throughput,60)}
    

    这会将默认吞吐量设置为每分钟60个请求(每秒1个请求),如果某个地方某处定义throughput属性 - 该值将被覆盖。

  4. 在" lib"中创建setthroughput.bsh JMeter安装的文件夹,包含以下内容:

    setprop("throughput", args[0]);
    
  5. 在运行时,您可以修改吞吐量,如:

    java -jar bshclient.jar localhost 9000 setthroughput.bsh 100
    

    JMeter set throughput

  6. 更多信息:Beanshell Server

    我相信如果您切换到Throughput Shaping Timer {{}}}会更容易,这样您就能够以更灵活,更有效的方式控制吞吐量。您可以使用load_profile property

    安装吞吐量整形计时器