软件测试 |BeanShell服务器
BeanShell解释器有一个非常有用的特性,它表现得的一台服务器,可以通过Telnet或者HTTP访问。
这里没有安全机制,任何人只要能连接上对应端口,就能执行任何BeanShell命令。这些命令可以提供对JMeter应用程序和主机不受限制的访问。不要启动BeanShell服务器,除非已经对端口访问做了保护,例如,通过防火墙。
如果测试人员确实希望使用BeanShell服务器,请在jmeter。properties文件中定义如下属性:beanshell.server.port=9000
在上面的例子中,BeanShell服务器将会被启动,并监听端口9000和9001。端口9000将会用于HTTP访问。端口9001将会用于Telnet访问。startup.bsh文件将被BeanShell服务器处理,它可以用于定义各种函数及初始化变量。文件startup中定义了设置/打印JMeter及系统属性的各种方法。测试人员可以在JMeter控制台中看到如下内容:
这里有一个实际例子,假设测试人员有一个以非GUI模式长期运行的JMeter测试,并且测试人员希望能在测试运行期间不定时改变吞吐率。测试计划中包含一个恒定的吞吐率定时器,它是以属性的形式定义的,形如${_P(throughput)}。如下BeanShell命令可以被用于改变测试:
该脚本可以被存储到一个文件中(如throughput.bsh),接着使用bshclient.jar将其传递给BeanShell服务器。例如:
搜索微信公众号:霍格沃兹测试学院