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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在运行测试时使用BeanShell服务器修改Jmeter的用户属性相关的知识,希望对你有一定的参考价值。

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

基本上我想在测试运行时从命令行更新用户属性'throughput'(在Constant Throughput Timer中使用)。

解决方案:根据Dmitri的回答,我做了以下事情: 我加入了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. 将以下两行添加到user.properties文件中: beanshell.server.port=9000 beanshell.server.file=../extras/startup.bsh
  2. 重新启动JMeter以选择设置
  3. 使用__P()函数在常量吞吐量计时器中设置throughput属性,如: ${__P(throughput,60)} 这将默认吞吐量设置为每分钟60个请求(每秒1个请求),如果throughput属性将以某种方式在某处定义 - 该值将被覆盖。
  4. 使用以下内容在JMeter安装的“lib”文件夹中创建setthroughput.bshsetprop("throughput", args[0]);
  5. 在运行时,您将能够修改吞吐量,如: java -jar bshclient.jar localhost 9000 setthroughput.bsh 100 JMeter set throughput

更多信息:Beanshell Server


我相信如果你切换到具有Throughput Shaping Timerload_profile property会更容易,所以你将能够以更灵活和有效的方式控制吞吐量。您可以使用JMeter Plugins Manager安装吞吐量整形计时器

以上是关于如何在运行测试时使用BeanShell服务器修改Jmeter的用户属性的主要内容,如果未能解决你的问题,请参考以下文章

jmeter之beanshell断言---数据处理

jmeter beanShell修改http请求参数

Testing Complex Logic with JMeter Beanshell

jmeter通过BeanShell 脚本,实现对http请求参数的加密

Jmeter(三十六)_运行过程中改变负载

JMeter博客系列:JMeter BeanShell示例