jmeter的使用

第一步---准备工作

一、Jmeter分布式执行原理:

  1、Jmeter分布式测试时,选择其中一台作为控制机(Controller)209,其它机器做为代理机(Agent)210/211/212......代理机和控制器要在同一网段下(重要、重要、重要)

  2、执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,需要把代理机的jmeter-server.bat文件打开,它是通过命令行模式来执行的。非GUI模式下通过jmeter-server启动

3、执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总。

注:录制的脚本只需在控制机上保存,参数化的账号每台代理机都需存在,包括控制机

二、代理机(Agent)配置:

1、Agent机上需要安装JDK、Jmeter,并且配置好环境变量。(推荐使用jdk1.8和jmeter5.2)

2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.31.230

3、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.31.230:1099,1099是端口号,可以随意自定义,可不做修改。

注:代理机的server-port 端口需解除注释,并且端口号保持一致

 

4、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。非GUI模式下通过jmeter-server 启动

 

三、控制机(Controller)配置:

1、Controller机上需要安装JDK、Jmeter,并且配置好环境变量。安装火狐浏览器(火狐浏览器设置代理个人感觉最简单方便)

2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.31.135

3、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.31.135:1099,192.168.31.230:1099,1099是端口号,可以随意自定义,可不做修改。如果有多台代理机,这里需要把所有的代理机的IP地址和端口号都加入进来

注:控制机的server-port 端口需解除注释,并且端口号保持一致

 

4、打开jmeter-server.bat文件,设置完成了。

 

三、需注意

1控制机(Controller)代理机(Agent)在bin/jmeter.properties中设置的端口要一致,控制机要包含所有代理机地址,用英文状态下的逗号隔开

2、创建控制机jmeter.bat快捷方式至桌面,方便后期快速使用jmeter、建议jmeter解压后放在磁盘的全英文目录下,(最好放桌面)如:

 

3、双击控制机jmeter.bat,出现以下界面,则jmeter安装成功,并已打开

 

4、代理机在非GUI模式下通过jmeter-server启动,控制机则需双击jmeter.bat,打开jmeter软件窗口和dos窗口

相关配置修改jmeter.properties

jmeter.properties文件中 server.rmi.ssl.disable 属性改为true,添加下列语句至配置文件中

 

jmeter.save.saveservice.output_format=csv

jmeter.save.saveservice.bytes=true

jmeter.save.saveservice.label=true

jmeter.save.saveservice.latency=true

jmeter.save.saveservice.response_code=true

jmeter.save.saveservice.response_message=true

jmeter.save.saveservice.successful=true

jmeter.save.saveservice.thread_counts=true

jmeter.save.saveservice.thread_name=true

jmeter.save.saveservice.time=true

jmeter.save.saveservice.timestamp_format=ms

jmeter.save.saveservice.timestamp_format=yyyy-MM-dd HH:mm:ss
jmeter.save.saveservice.print_field_names=true

 

运行语句:

jmeter -n -t C:/Users/Administrator/Desktop/登陆2.jmx -r -l ceshi.jtl  压测并生成jtl文件

jmeter -g ceshi.jtl -e -o C:\Users\Administrator\Desktop\baogao      jtl转化为html

1、  C:/Users/Administrator/Desktop/登陆2.jmx-------脚本所在路径及脚本

2、  ceshi.jtl------生成的jtl文件名(默认生成在bin目录下)

3、  C:\Users\Administrator\Desktop\baogao-----转化的html存放路径

第二步------录制并调试脚本,以登录和首页加载为例(PC

登录和首页加载

a---脚本录制

打开jmeter,选择文件模板-----Recording---creat------creat (此处注意httpshttp

打开需要录制的环境登录页,设置好http代理参数,不点确定,等待jmeter脚本的录制启动

 

 

删掉红框内容,点击启动,进行录制,启动录制后点击代理确定,回到环境登录页,输入账号密码,进行登录,进入环境后门户加载完毕,结束录制

 

b--------调试脚本

登录和首页加载,高并发下需要对账号做参数化,谨防数据库死锁,需要添加csv文件配置

 

将准备好的账号写入txt文件,一行一个账号,放在桌面方便寻找,(若账号密码各不相同,则需在账号后加    并写上对应密码,推荐使用相同密码的账号)

 

csv文件配置中填入相关信息,文件名、文件编码、变量参数,其他默认

 

获取token------新建线程组,将登录接口复制粘贴至新建的线程组中(通过登录获取token值,一般用于token时效较短的场景,可以通过增加token时效或动态获取token,保存脚本正常运行)

 

修改获取token线程组中的登录接口的接口名,与登录线程组的登录接口做区分,并在接口上添加json提取器,在线程组上添加Beanshell取样器,该线程组并发时间等设置不变,都为1

将登录接口的账号参数修改为${name},保持和csv中设置的name参数一致

 

修改登录事务并发数和并发时间,讲信息头的token修改为动态获取的token,(可以设置定时器增加thinktime,也可以设置Ramp-UP时间)保存jmx脚本。

 

录制并调试脚本,以登录和首页加载为例(移动端)

1、  打开jmeter,创建模板,删除和添加相应配件(与PC端创建模板相同)

2、  查找电脑ip地址,将电脑和手机连接至同一网段下,例如,连接同一个wifi,或电脑连接wifi后开启wifi共享并将手机连接共享的wifi

3、  手机上打开APP至登录页,输入账号密码,不登录,在PC点击jmeterHttp代理服务器页面的启动,在弹出的对话框中点击确定,录制已经开始

4、  找到并长按连接的wifi,点击修改网络”,在打开的页面中将显示高级选项勾选上,将代理选为手动,在服务器主机名中填入刚刚查看的电脑网址,点击保存

5、  切回登录页,点击登录按钮,进入APP登录后的门户首页,PC端在jmeter中点击停止

注:用户参数化方式与PC端一致

C-------开始压测

Dos窗口中进入jmeterbin目录,输入压测语句

jmeter -n -t C:/Users/Administrator/Desktop/登陆2.jmx -r -l ceshi.jtl  压测并生成jtl文件

jmeter -g ceshi.jtl -e -o C:\Users\Administrator\Desktop\baogao      jtl转化为html

,压测结束后转化成html,压测结束,按照模板整理压测报告

posted @ 2022-05-24 10:35  非同凡响  阅读(2759)  评论(0编辑  收藏  举报