上次我们集成了dubbo接口和jmeter,但是jmeter是用java实现的,有很多局限性,不能实现高并发。我们需要使用分布式技术来实现高压力测试。
在最后一个例子中,我们只实现了一个简单的dubbo接口测试。让我们实现参数化。让我们首先创建一个txt,并在其中添加输入和输出:
添加csv配置
修改我们写死的豆壳剧本。
修改脚本后,让我们添加一个beanshell断言。
在jmeter中单独运行。
接下来,我们将实现jmeter分布式操作。在实现分布式操作时,我们需要区分两个概念,即Controller和server_slave。很简单,控制端用来控制脚本执行,而实际执行是由远程执行端运行的。
在配置客户端和远程执行器之前,我们需要在安装jmeter的每台机器上配置jdk环境变量和jmeter环境变量。
Jdk环境变量:
右键单击计算机属性-高级系统设置-环境变量。
变量名:JAVA_HOME
变量值:C:程序文件javajdk1.8.0 _ 91(即jdk的安装位置)
变量名:路径(该变量名已经存在于系统变量中,现在只需在该值后添加以下变量值)
变量值:% JAVA _ HOME %在;% JAVA _ HOME % jrein
变量名:CLASSPATH
变量值:% JAVA _ HOME % lib% JAVA _ HOME % libdt.jar% JAVA _ HOME % libools.jar(记得上一个。)
打开cmd并输入java版本回车。如果输出了版本信息,则安装成功。如果不是内部或外部命令,则表示安装不成功。可以留言或者百度解决。
Jmeter安装
因为这个软件是绿色版本,可以在任何地方解压使用。解压缩后,打开Jmeter目录。
右键单击计算机属性-高级系统设置-环境变量。
变量名:JMETER_HOME
变量值:C:程序文件Apache-JMeter-3.2
变量名:路径(在其后添加以下变量值)
变量值:% JMETER _ HOME % in
变量名:CLASSPATH
变量值:
% JMETER _ HOME % LibExpachejmeter _ core . jar;% JMETER _ HOME % libjorphan.jar
同样,在cmd中运行jmeter。如果出现下图,则证明配置正确。
配置server_slave,并在服务器slave上的jmeter/jzdqc下打开jmeter.properties
您可以将服务器端口更改为服务器。
slave修改监听端口配置controller,打开controller上的jmeter/jzdqc文件夹下的jmeter.properties
配置好之后,我们先启动server slave
在启动server slave的时候有时候会发现以下报错
在这里我们有两种解决方式
1, 在所有jmeter上进行设置,打开jmeter.properties,修改server.rmi.ssl.disable=true并打开配置
2,在各个jmeter端实现加密,双击运行jmeter/jzdqc 下的create-rmi-keystore.bat
在启动之后,会询问很多问题,问什么回答什么就行
最后一步输入Y生成秘钥,将成功生成的秘钥rmi_keystore.jks 复制到每台jmeter上
通过以上两种方式,可以正常启动server slave与controller。
启动server slave
启动controller 端,并打开之前编写的测试dubbo的脚本。
点击在远端运行
这样,我们的jmeter分布式测试dubbo接口就实现了(过程中牵扯到所有代码以及文件都可以在GitHub上下载到https://github.com/chrisblue0605/dubboSample),希望能帮助到大家。
作 者:Testfan Chris
出 处:微信公众号:自动化软件测试平台
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接