一、Badboy(PC端)
Badboy是一款不错web自动化测试工具,利用它来录制脚本,并且录制的脚本可以直接保存为JMeter文件来使用。
Badboy version 2.0.5
通过Badboy来录制脚本
1.打开badboy ,点击红色按钮,在地址栏输入被测项目地址。
录制完后,点击旁边的黑色按钮结束录制。
2.选择文件,Export to Jmeter 保存.jmx类型文件
3.打开Jmter,打开“文件”->‘打开’选择刚保存的.jmx类型文件。
Badboy下载完成打开页面如下:
二、使用Jmeter自身的代理录制脚本(移动端)
1.打开jemter,创建一个线程
2.添加代理服务器,点击 “工作台”,然后右键,根据如下图步骤,添加一个代理服务器。
3.设置端口以及录制地址
4.通过模拟机配置端口号就可以完成链接
Jemter提取器:
一、正则表达式提取器
步骤:右键“HTTP请求”->添加->后置处理器->正则表达式提取
下面是正则表达式各参数值的含义:
1.引用名称:在HTTP等请求中,引用此数据,需要用到的名称
2.正则表达式:用于将需要的数据提取出来
3.模板:$ 1$ 这是固定格式
4.匹配数值:0代表随机取值,1代表第一值,n代表第n个值
5.缺省值:如果正则表达式没有搜到值,则使用此缺省值
正则正则表达式的格式:字符串形式"token":"(.+?)" 数字形式 “taken”:[(0-9)+]
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。
匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。
. 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 . 。
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用?
二、JSON提取器
步骤:右键“HTTP请求”->添加->后置处理器->JSON提取器
下面是JSON提取器各参数值的含义:
1.引用名称:在HTTP等请求中,引用此数据,需要用到的名称
2.提取格式:$data[0].name
3.匹配数值:0代表随机取值,1代表第一值,n代表第n个值
4.缺省值:如果正则表达式没有搜到值,则使用此缺省值
json提取格式json讲解:
1.json串 []表示对象组成的数组,{}表示对象。
2.对象里包含多个 “属性”:属性值。属性值可以是值,或数组,或对象。
3.JSON Extractor使用json path表达式匹配,可以一次取多个变量值。$表示响应的根对象。取子对象或对象的属性用. 取数组里的对象用[],数组索引从0开始。
Jemter定时器:
一,固定定时器
如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。
二、高斯随机定时器
如需要每个线程在请求前按随机时间停顿,那么使用这个定时器,上图表示暂停时间会分布在100到400之间,计算公式参考:Math.abs((this.random.nextGaussian() * 300) + 100)。
Badboy录制(web端)
借用badboy
1.打开badboy的录制按钮
2.Badboy的浏览器中输入web项目的网址 http://项目名:端口号/路径
3.停止录制并在file选项中进行导出jmeter(exceport jmeter) 生成.jmx文件
4.在jmeter中将.jmx打开并添加到线程中
Jmeter录制(app端)
在线程租中添加http代理服务器,然后修改的是
*** http代理服务器是单击测试计划中非测试原件中找
1.端口号(和移动端设备的端口号保持一直)ip地址进行保持一直
2.将录制好的http请求保存的位置可以修改(1.直接放入测试计划中,2。可以在放入到线程组中)
3.在线程组中进行添加查看结果树/聚合报告的时候 就可以对多个接口或者是业务场景进行录制
Jmeter的正则提取器面试题:
在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便最常用的就是正则表达式提取器了。