软件测试 |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 控制台中看到如下内容:
Startup script running
Startup script completed
Httpd started on prot: 9000
Sessiond started on port: 9001
这里有一个实际例子,假设测试人员有一个以非 GUI 模式长期运行的 JMeter 测试,并且测试人员希望能在测试运行期间不定时改变吞吐率。测试计划中包含一个恒定的吞吐率定时器,它是以属性的形式定义的,形如 ${_P(throughput)}。如下 BeanShell 命令可以被用于改变测试:
该脚本可以被存储到一个文件中(如 throughput.bsh),接着使用 bshclient.jar 将其传递给 BeanShell 服务器。例如:
评论