badboy录制工具
Badboy是用C++开发的动态应用测试工具,拥有强大的屏幕录制和回放功能,提供图形结果分析功能,可以用来做Web自动化测试,录制的脚本可以直接保存为JMeter文件来使用
优点:录制操作简单,脚本简洁
缺点:仅适用于B/S架构的产品录制,有可能因内置浏览器的内核等兼容性问题录制不了,且录制时可能会造成一些页面数据丢失,脚本不完整,在jmeter使用的时候需要优化脚本
1、开始录制
打开工具,默认是开启录制的,直接输入地址(如:https://www.sogou.com/),点击访问地址,即开始录制了
2、停止录制
操作页面(如:输入“软件测试”,点击搜狗搜索),操作完成后,点击停止录制按钮,即停止录制
3、添加断言
以输入的内容为断言
选中右侧搜索栏中的内容,点击菜单栏Tools–>Add Assertion for Selection即可
4、解决中文乱码
为了解决中文乱码,这边修改编码格式,把ie=utf8改成ie=gbk
否则在回放的时候会出现乱码
5、回放
点击Play All开始回放,改过编码之后,回放的时候不会出现乱码的情况,而且左侧断言位置的状态也改变了
6、导出.jmx格式
可以导出成jmeter脚本
选择菜单栏File–>Export to JMeter,导出,保存文件
Jmeter录制
是利用JMeter自带的http代理服务器元件进行录制
优点:录制过程可控,适用于任何http协议架构的应用
缺点:只适用于http协议应用的录制(如果要录制https的需要配置证书,但是录制过程中速度也会很慢)
1、添加线程组
在测试计划下添加一个线程组
2、添加录制控制器
在线程组下添加录制控制器,用来记录录制脚本,作为一个临时的保存位置,当然你也可以不添加录制控制器,直接保存在线程组下
3、添加配置HTTP代理服务器
在测试计划下添加HTTP代理服务器
端口我这边设置是:8889,默认的为8888
建议设置端口时不要设置常用的,容易冲突
设置目标控制器,选择自己刚刚设置的线程组下的录制控制器:Test Plan > 线程组 > 录制控制器,这样录制的脚本就存在录制控制器下,如果要放在线程组下,就不要录制控制器,选择Test Plan > 线程组就行了
排除模式添加 ..(js|css|PNG|jpg|ico|png|gif).,可以过滤掉js、css、png、jpg、ico等信息
4、导入证书(https录制需要)
HTTP代理服务器启动一下,会在jmeter的bin目录下生成证书ApacheJMeterTemporaryRootCA.crt,有效期7天
找到浏览器的证书,选择导入ApacheJMeterTemporaryRootCA.crt
5、浏览器设置代理
找到浏览器的网络设置,原本默认是使用系统代理设置,这边设置成手动配置代理
HTTP代理:localhost或者127.0.0.1
端口:8889,与jmeter的HTTP代理服务器设置的端口一致
(注意:开启代理时,最好是关闭其他http协议请求的应用,避免造成影响,录完之后需要恢复默认值:使用系统代理设置,否则会影响到浏览器网络问题等)
火狐HTTP的代理,设置如下:
如果要录制https,可以勾选也将此代理用于 FTP 和 HTTPS,或者单独配置HTTPS代理,设置如下:
IE的代理设置如下:
6、启动录制
在HTTP代理服务器启动,点击OK,在浏览器输入地址访问,即开始录制,然后进行需要录制的操作
7、停止录制
操作完成后,回到jmeter界面,点击停止,即可停止录制
8、添加察看结果树
在线程组下添加察看结果树
9、运行测试
点击运行,运行后,查看察看结果树,看运行结果是否正确
手机App录制抓包
1、查询电脑ip
cmd命令:ipconfig
2、配置jmeter
跟上面录制一样,需要添加线程组,加HTTP代理服务器,配置HTTP代理服务器的目标控制器,这边HTTPS Domains为上面的IP地址,目标管理器配置:测试计划 > 线程组,可以自己选择添加录制控制器
3、手机安装证书
在jmeter安装目录下的bin目录,找到证书ApacheJMeterTemporaryRootCA.crt,发送到手机上安装
如下:
4、设置手机网络
选择修改网络,显示高级选项,配置代理为手动,输入服务器主机名:ip地址,服务器端口:和jmeter的端口一致
5、开始抓包
启动HTTP代理服务器,再打开需要抓包的手机APP,进行操作,操作完成后,在jmeter界面点击停止,即录制完成