以前文所述对文章详情的HTTP请求进行性能测试为例。日常实际场景中,不可能所有的人都在同时访问一篇文章,而是多人访问不同的文章,因而需要对文章编号进行参数化,以更好的模拟日常的性能测试场景。同时,因文章编号不同,那么相应的文章标题断言也需要进行相应的参数化设置。
下面就以此为例,进行分布式(远程)参数化测试过程的实例演示。
一、脚本功能
1、访问文章详情
2、参数化文章ID及断言文章标题
二、创建脚本
1、创建测试计划:JMeter分布式参数化测试实例
2、添加线程组:文章详情
3、添加HTTP请求:请求文章编号
4、添加查看结果树(可参阅文章 JMeter脚本创建)
5、设置断言及本地调试(可参阅文章 JMeter响应断言设置)
6、脚本参数化设置及本地调试(可参阅文章 JMeter参数化设置)
7、依据性能测试场景设置并发数(VU)及集合点(可参阅文章 JMeter集合点设置)
最终的分布式参数化测试脚本详情如下所示:
1、测试计划
2、线程组
3、参数化配置
参数文件路径必须为绝对路径,否则脚本执行时无法找到参数配置文件,因为调度机(Controller)分发JMX脚本,但不分发脚本中对应的参数文件。
4、参数化文件
5、集合点
6、线程(HTTP请求)
7、响应断言设置
三、执行机(Slave)准备工作
1、参数文件
依据参数化设置,将对应的参数化文件拷贝到对应的配置路径。执行机(slave)对应路径下必须存在正确的参数文件。
2、远程端口设定及服务器启动
设定服务器端口为:1029,并执行脚本 jmeter-server.bat 或 jmeter-server 启动对应的远程服务。
四、分布式参数执行
进入对应目录,目录中的文件如下图所示:
执行如下所示命令:
jmeter -n -t JMeter分布式测试参数化示例.jmx -R 10.9.215.90:1029 -j remote.log -l report.csv
执行结果如下所示:
由上图可知,分布式参数化性能测试脚本成功执行。
命令执行后,目录中的文件如下所示: