背景:使用JMeter开发脚本,接口测试时,拿到开发提供的接口文档,手动添加测试计划、增加测试元件进行测试;那么测试web功能时,就需要录制脚本了,因为它要web浏览的所有url组成测试脚本,录制方法有好几种,这里介绍其中之一:JMeter工具自身携带的代理服务器功能,通过设置代理进行脚本的录制,另一种就是通过badboy工具进行录制,导出JMeter所认知的脚本,导入JMeter即可;下面介绍JMeter录制脚本的非测试元件:
1、HTTP(S) Test Script Recorder HTTP代理服务器
Name:名称,无实际意义,如果不选择保存工作台的话,不需要修改;
Comments:注释,随意;
State:状态:启动Start、停止Stop、重启ReStart;
Global Settings:全局设置
Port:端口号,默认8888
HTTPS Domains:代理服务器地址,本机localhost或127.0.0.1,或不填,
Test Plan Creation:创建测试计划
Target Controller:目标控制器,使用录制控制器,一般先新建测试计划,选择Test Plan > Thread Group,录制脚本到线程组;
Grouping:分组,录制脚本时,是否选择分组,
Do not group samplers : 不分组,按顺序记录脚本
Add separators between groups :在组之间添加分隔符;
Put each group in a new controller:为每个组创建一个新的简单控制器,并存储该组中的所有采样器。
Store 1st sampler of each group only :仅记录每个组中的第一个请求。在采样器中将打开“ 跟踪重定向 ”和“ 检索所有嵌入资源”标志。
Put each group in a new transaction controller :为每个组创建一个新的事务控制器,并存储该组中的所有采样器。
Capture HTTP Headers:扑捉http头
Add Assertions:添加空白断言
Regx matching:正则表达式匹配
HTTP Sampler Settings: HTTP取样器(样本)设置
Prefix:
Retrieve all Embedded Resources:设置检索生成的采样器中的所有嵌入资源
Redirect Automatically:自动重定向,在生成的采样器中自动设置重定向
Follow Redirects:按照重定向,在生成的采样器中设置跟随重定向
Use Keep-Alive:使用Keep-Alive,在生成的采样器中设置使用Keep-Alive
Type:类型,要生成哪种类型的采样器(默认HTTPClient或选择Java)
Request Filtering:录制脚本过滤器
Content Type filter:内容类型过滤,
include:
exclude:
URL Patterns to Include:符合正则表达式,只录制包含匹配的url一个或多个请求;
URL Patterns to Exclude:符合正则表达式,排除匹配的url一个或多个都不被录制;
Notify Child Listeners of filtered samplers:通知过滤取样器的子监听;
tips:代理录制服务器,默认选择跟随重定向Follow Redirects,当请求返回302等重定向问题时,自动跳转到正确页面;
包涵/排除模式正则表达式:
包涵:如路径:http://localhost:8080/project/index.html
那么表达式:.*\.html(\?.*)或者.*
注意,正则表达式匹配的字符串必须与整个主机+路径字符串相同
排除:.*\.js.*|.*\.css.*|.*\.png.*|.*\.jpeg.*|.*\.jpg.*|.*\.gif.*