学习自动化已经有两周了,从之前的什么都不懂,到现在会使用PostMan、JMeter调用GET、POST请求及连接数据库。
今天更深的学习了JMeter的关联、怎么添加压力机、怎么在LINUX下运行、怎么抓包等。
一、JMeter关联
使用JMeter关联,可以很大程度的减少测试人员的工作量,不用一个一个手动从上个返回中提取关联条件的值。
关联有两种方式,一种是 JSON Path Extractor,一种是正则表达式提取器,如果压的接口返回的数据是json的话,那么用json path这个插件就非常好用,如果返回的不是json那么就用正则表达式。
注:关联只能在同个线程组中进行,不能跨线程组
1、JSON Path Extractor关联
1>、在需要取值的请求下添加关联,并设置如下
Destination Variable Name: 随便填写
JSONPath Expression: 提取哪个值,就$.xx
Default Value: 填写一个默认值
2>、在需要用到关联的请求下设置需获取的关联,如下图
3>、执行运行结果
2、正则表达式提取器
1>、在需要取值的请求下添加关联,并设置如下
引用名称:随便填写,无规则
正则表达式:可变化的内容用 (.*?)代替,不可变化值写死
模版:一般为$1$
匹配数字:随便填写任意数据,写2就是匹配两个,写3就是匹配三个
缺省值:找不到上面设置值时,默认给个值
2>、在需要用到关联的请求下设置需获取的关联,如下图
3>、执行动行结果
二、添加压力机
如果自己电脑压力不够,需要借助别人的电脑测压,但是需满足下面几点要求
1、对方需把JMeter-bin目录下jmeter-server.bat该文件启动。
2、两台电脑要PING通。
3、在配置文件(JMeter-bin-jmeter.properties)中加入对方ip。格式为“,ip地址:端口号”,端口号为固定1099
4、重启JMeter系统,如下图,就可运行对方电脑
5、如果有参数化文件,在压力机同样的目录下,必须也得有这个参数化文件,JMeter参数化文件设置如下
三、在LINUX下运行
1、上传JMeter软件到linux 上传命令为:rz -e
2、 把在Windows上面做好的脚本上传到linux上面 。
3、执行以下命令:./jmeter.sh -n -t zhangjing.jmx -j zhj.jtl。
4、看结果的话,要把这个 ss.jtl下载到本地。 下载命令:sz zhj.jtl
5、JMeter里面添加聚合报告,导入ss.jtl,就可查询结果。
四、抓包
抓包其实就是拦截请求,可查看也可修改然后再返回给服务端或者客户端的操作
1、抓http://www.besttest.cn/page/10.html请求,点击page右键,选择breakpoints,然后清空网页。
2、在浏览器上重新打开http://www.besttest.cn/page/10.html请求,拦截到以下信息,修改标签页为 edit request网址为 http://www.besttest.cn/page/3.html,点击excute按钮
3、页面再次返回http://www.besttest.cn/page/3.html拦截信息,修改内容,点击excute按钮
4、检查浏览器信息,已经把之前的 http://www.besttest.cn/page/10.html页面修改为 http://www.besttest.cn/page/3.html页面
五、手机抓包
1、手机和电脑必须在同一个局域网,在手机无限网里面添加电脑的IP及端口,端口为:8888
2、抓包工具必须开启