一、PC端-http录制
步骤1:测试计划(右击)-添加-线程(用户)-线程组
步骤2:测试计划(右击)-非测试元件-HTTP代理服务器
步骤3:基本设置
golbal Settings-全局设置
1.端口:8888(这里默认的端口会和fiddle默认端口是重复,注意开启的应用程序,若有特殊情况更换端口)
2.HTTPS Domains:代理主机地址(有的文章说是过滤域名的作用。还有的文章不能配置IP,这....不多加评价),默认为空为本机地址;若需要抓取同一网段下的局域网电脑端的请求,只需要设置被抓取电脑端的IP地址。
3.目标控制器:录制的脚本所保存的位置,这里一般选择线程组或HTTP代理服务器
4.分组:录制一般都一个业务流程,作为一个事务控制器中。
5.HTTP Sampler settings
a.Transaction name(事务名称):也就是对当前录制抓取的包放在一个事务控制器中并命名
b.naming scheme(命名规则):抓取的采样器名称规则设置。
c.counter start value(计数器启动):也就是代理录制过程中,出现的后缀计算的作用
d.create new transcation after request(请求后创建新的事务(毫秒)):指两个请求之间相隔你输入的值来判断是否单独存放一个事务器
e.Recording‘s default encoding(录制编码):编码,一般为 utf-8,防止录制时出现中文乱码,这个根据实际录制需要进行设置。
f.Retrieve All Embedded Resources(从HTML文件获取所有资源):在生成的取样器中,设置获取所有嵌入式资源
g.自动重定向:录制的取样器是否要设置自动重定向
h.跟随重定向:录制的取样器是否要设置跟随重定向
i.使用keepAlive:默认勾选
j.Type:要生成哪种类型的取样器,HTTPclient4 或 Java,默认 HTTPclient4
步骤3:Requests Filtering请求过滤
1.Content Type filter (有需要再设置)
- Include(包含)
- Exclude(排除)
Include:根据请求头中的 content-type 属性过滤请求,例如 "text/html [;charset=utf-8 ]”
该字段为正则表达式,它会检查 content-type属性中,是否包含了指定字符串[不必匹配整个字段]
顺序是:先检查 content-type 的包含过滤器,再检查排除过滤器,过滤掉的取样器将不会被储存
2.包含模式
使用它可以过滤 URL 路径,只有取样器的完整 URL 匹配通过,该正则表达式才会被记录
如果在包含模式中至少有一个条目,则只记录匹配一个或多个包含模式的请求
如果我们要录制某个网站的请求,可以添加一个 URL过滤,防止录制不必要的请求
.*你需要查询的接口域名.*
3.排查模式:
.*\.(css|ico|jpg|png|gif|bmp|wav|js|woff|map).*
步骤4:开启代理
出现证书弹窗则说明基础配置项是成功的
步骤5:浏览器配置代理
注意:一定要点击保存,端口配置和jmeter设置的代理端口是一致的。
步骤6:打开你需要抓取地址。我这里代理服务抓取到,如下图:
二、PC端-HTTPS录制
注意:HTPPS的录制,要多两步的操作,因为HTTPS存在SSL证书校验,所以当你抓取HTTPS的请求时按照上述方法是抓取不了的
注意:在上述HTTP录制-步骤4时,在我们的安装路径bin目录下就已经生成了ApacheJMeterTemporaryRootCA.crt证书。我也看过以前的版本发布的文章,部分版本要在ssl管理器上传ApacheJMeterTemporaryRootCA.crt或者上传ApacheJMeterTemporaryRootCA.urs证书。亲测jmeter5.6版本多次,至少再该版本中不是必要操作。实践检验真理,如果实在出现未知问题,也可考量。
步骤1:在浏览器-设置中导入证书-安全与隐私找到管理证书(每个浏览器名称不一样)。如下图:
导入bin目录下的ApacheJMeterTemporaryRootCA.crt证书
注意:导入证书后,一定要清楚cookie等缓存数据并重启浏览器,不然即使你配置正确的情况下也会出现各种奇奇怪怪的问题。
再此点击启动,则可以成功抓取HTTPS的请求
三、移动端-HTTPS/HTTP
和PC端操作是完全一致的。1.开启WiFi代理;2.安装证书(通过微信/QQ下载并安装凭证)。很简单。就不一一阐述了,对WiFi配置代理注意如下:
步骤1:打开你网络配置-属性,或者cmd输入命令ipconfig.
步骤2:打开手机wifi详情,选择代理服务器->配置代理->手动,服务器中填入上图中的ip地址,端口号输入与Jmeter中代理服务器中的端口号
可以通过浏览器打开访问www.baidu.com 。如下图:
注意:并不是所有的APP都能通过代理安装了证书后就能正常访问的。需要通过其他方式绕开ssl固定的证书校验。