Jmeter脚本录制功能依赖第三方工具Badboy,因此在安装了Jmeter以后,还须要再安装一个工具。java
Badboy自己自带浏览器,相关操做只能在Badboy上进行操做,偶尔可能会遇到浏览器兼容的问题致使录制失败。正则表达式
有没有不须要安装第三方工具,不限制浏览器兼容的方法呢?chrome
Jmeter自带的组件-HTTP代理服务器来进行脚本的录制,此功能能够录制Web/APP端的脚本。json
本次使用的是Jmeter 5.0版本,chrome浏览器浏览器
设置-高级设置-打开代理设置-局域网设置-代理服务器服务器
地址能够是localhost或127.0.0.1,端口与HTTP代理服务器端设置的端口号一致网络
用于指定脚本录制路径app
测试计划>右键>添加>非测试原件>HTTP代理服务器工具
端口:测试
默认为8888,可修改。但要注意,端口不能被其它程序占用,端口信息要与浏览器设置保持一致。
cmd.exe中使用以下命令检查端口使用状况:
1)netstat -an --列出本机全部使用端口信息
2)netstat -aon|findstr "8888" --查询端口是否被占用
3)tasklist|findstr "8888" --查询对应端口被什么程序占用
目标控制器:
录制脚本存放路径,可指向第2步建立的线程组(测试计划>线程组)
分组:
录制脚本时会增长不少节点,为了便于查看与管理,能够对这些节点进行分组
可选值有:不对样本分组、在组间添加分隔、每一个组放入一个新的控制器、只存储每一个组的第一个样本、将每一个组放入新的事务控制器中
记录HTTP信息头:将Header头信息录制下来
添加断言:录制时加入空的断言,后需须要手工增长断言内容
Regex Matching:是否使用正则表达式匹配断言。应用时须要增长一个正则表达式提取器。
HTTP Sampler settings:
Prefix-为录制脚本增长前缀,配置为登陆,脚本展现为,参见图中登陆五、登陆9;
Tracnsaction name-为录制脚本命名,配置为首页加载,脚本展现为,参考图中11 首页加载。
经过此配置,能够手工将脚本进行分组,便于后需查看和编辑。
Type:生成那种类型的取样器,可选值有HTTPclient四、java和空。
历史版本默认为JAVA,不知何时改成默认空了。
从HTML文件获取全部内含的资源:是否从HTML文件获取全部内含的资源。
自动重定向:当遇到重定向,自动跳转,不记录重定向过程请求。
跟随重定向:默认勾选,当遇到重定向时,记录重定向过程请求。
使用KeepAlive:默认勾选,对应Http响应头中的Connection:Kepp-Alive
经过此功能筛选掉没必要要的请求,Jmeter会把js、png、swf及动态请求所有录制下来,会有不少冗余脚本。
Content -type filtert:经过Content-type进行筛选。常见的包含application/x-www-form-urlencoded、text/xml、application/json、multipart/form-data等。
排除模式:能够添加URL、路径等信息做为排除项
Notify Child Listeners of filtered samplers:通知筛选的采样器的子侦听器,匹配一个或多个排除模式的任何响应都不会传递给子侦听器。
点击“启动”,(首次加载较慢)会提示Root CA certificate Apache Jmeter TemporaryRootCA Created in Jmeter bin directory:
此消息只是让用户信任JMeter proxy的身份,有两种方法均可以解决
1)直接在浏览器录制时选择信任发来的证书;
2)提早将JMeter Proxy的Root CA证书导入浏览器,完成信任,再开始录制动做。
不过忽略也能够,在浏览器中进行相关操即会被记录下来。
本地能够访问系统并录制脚本,外网访问会受限制,浏览器去除代码设置后返回正常。
平常接口测试,若是不想手工录制信息到Jmeter,也能够经过此方式进行录制。
其实在电脑端的设置和Web录制中的设置都是同样的,只不过在APP端须要设置代理。
经过无线网络设置代理,计算机开启wifi,手机链接,保证手机链接的网络与电脑网络在同一局域网内。
无线设置》WLAN》连接对应的无线网络》点击连接的无线网络》配置代理
与Web端配置相似,服务器IP配置为电脑IP,端口与HTTP代理服务器中的设置的一致
配置完成后,就能够进行相关录制操做。