松勤软件测试
坚持教育初心
既问收获也问耕耘
目录- 1. Fiddler扩展
- 2. Fidder录制脚本
- 3. JMeter使用Fiddler录制脚本
- 4. 常见问题
- 5. 脚本下载
1. Fiddler扩展
首先需要下载2个dll扩展文件:FiddlerExtensions.dll及FiddlerExtensions.pdb(这2个文件是为了扩展Fiddler的导出功能,支持导出JMeter使用的.jmx格式文件),拷贝至Fiddler\ImportExport目录下:![da8b87e25540ad9eee8b7f4c3d2443db.png](https://i-blog.csdnimg.cn/blog_migrate/e33de42e97017efdd243db8278505db7.png)
2. Fidder录制脚本
我们以打开百度首页,并进行一次搜索为例,介绍如果使用Fiddler录制脚本。2.1 Filters配置
运行Fiddler,点击右侧Filters进行过滤器的配置:1) 选择“UseFilters”2) 在下面的下拉框中选择“Show only the following Hosts”,并在输入框中填入Hosts名称,如*.baidu.com;3) 在Requests Headers中勾选“Hide if URL contains”,填入.css .js .gif .png .jpg .swf 用以过滤css/js/图片等类型请求4) 根据需要,可在下面“Respons Status Code”中勾选“Hide non-2xx”用以过滤非2xx返回码(即失败)的请求5) 最后点击右上角Actions -> Run Filterset Now,开始运行Filer过滤![dd88caac754fe7884a6b850b2f3937c0.png](https://i-blog.csdnimg.cn/blog_migrate/42b6819c049142c8841fd9212aeac920.png)
2.2 脚本录制
1) 打开Chrome浏览器,录制我们的操作:先打开百度首页www.baidu.com,后进行一次搜索,如搜索lovesoo,可以看到Fiddler经过过滤之后,只抓取了我们对Hosts: baidu.com的操作![f0ecc8b1899dc77e6e9925b513a3bdf3.png](https://i-blog.csdnimg.cn/blog_migrate/a3cbecf2f6685f1650499bc6aae2c42b.jpeg)
![e4d957c0b30c89ca377e6727d6beddc1.png](https://i-blog.csdnimg.cn/blog_migrate/1a77f45594e3771514557d04761d7a9f.png)
![b4a74c9debe321a5bd5db5d02ac3f0b3.png](https://i-blog.csdnimg.cn/blog_migrate/fe9ccb363b67880136c6c8379221a3d9.png)
![624a0407bd2b92852433fdb13ddf4856.png](https://i-blog.csdnimg.cn/blog_migrate/e30e27ee06621cbbaf5122ce6c36892f.png)
![8def8da225f446f1f6b5f8dac5b35a90.png](https://i-blog.csdnimg.cn/blog_migrate/649d36381fbed73076fc4e9743a24b4d.png)
2.3 导出脚本
1) 在Fiddler中选择File -> Export Sessions -> All Sessions![9b1b038b9576f6d03398b8a22cf41ea6.png](https://i-blog.csdnimg.cn/blog_migrate/231b482d83b3230f3458970e5402bd41.png)
![3ad10af27bcf91111c52c521abb66551.png](https://i-blog.csdnimg.cn/blog_migrate/a7e47a93c3d5b6e950665cecf0fef795.png)
3. JMeter使用Fiddler录制脚本
1) 运行Jmeter,打开我们刚才保存的jmx文件,可以看到这里只有2个Http请求,分别是打开百度首页及搜索![55d540aabd377f7a8a5842c943369701.png](https://i-blog.csdnimg.cn/blog_migrate/57103cf944370fc86cb5c24fc5f30770.png)
![f1f8dba2536a1fdf83df78e5aef3149b.png](https://i-blog.csdnimg.cn/blog_migrate/761b0bf2dc220cf97f1db33994d1f433.png)
![8c7b9a9aa12d53ded0b68ef7412cf2b4.png](https://i-blog.csdnimg.cn/blog_migrate/8c6c853dcaf5717915b86c78681ae1ef.png)
![df78eec55ac1d4cfaacb42a5845f2b22.png](https://i-blog.csdnimg.cn/blog_migrate/7997e412b05c2eab6ef80fca928b27c7.png)
![16dd88b957b7de327b52434b1e2cc409.png](https://i-blog.csdnimg.cn/blog_migrate/fe59b95c8ea02eec03ea653bdb003956.png)
4. 常见问题
下面介绍实际使用过程中可能遇到的问题及解决方法。4.1 JMeter Http响应中文乱码
在上面的2个接口中,打开百度首页的Http请求在查看响应的时候出现中文乱码的情况,这时由于JMeter默认使用的编码格式为ISO-8859-1,非UTF-8。![6ac8bf59f63a766dea892bfa3d9ebf15.png](https://i-blog.csdnimg.cn/blog_migrate/dac13ae36e57e29a05bf8a3db1f5be57.jpeg)
4.1.1 修改jmeter.properties
打开Jmeter安装目录/bin/jmeter.properties文件,修改#sampleresult.default.encoding=ISO-8859-1为 sampleresult.default.encoding=utf-8 (注意去掉开头的#注释),重启JMeter即可![3234e48914ac617c28b91f95b0030de7.png](https://i-blog.csdnimg.cn/blog_migrate/53e8cf9a535ed9acd0b24dd967f2d0dc.png)
4.1.2 添加BeanShell PostProcessor
选择Http请求,右键选择:添加 -> 后置处理器 -> BeanShell PostProcessor,在下方的Script中填入:prev.setDataEncoding("UTF-8");![35dd9b7d97fe539e0436783a049cfc8f.png](https://i-blog.csdnimg.cn/blog_migrate/b878cb770eef272425c02b29f0cbfd23.png)
![34b0310cbcde9d31822b31bef11ecaaa.png](https://i-blog.csdnimg.cn/blog_migrate/094af7e3f053045975ff923a10b072c0.png)
4.2 Http接口报错
在点击查看结构树,查看上述搜索请求结果时,发现返回结果不是我们期望的搜索结果:![19b46dae76741a0be1eefcbf01ad9955.png](https://i-blog.csdnimg.cn/blog_migrate/af6948c330477694ce6de5b33daf77a7.png)
![1850c8c2caff1a369e2d0a2560482165.png](https://i-blog.csdnimg.cn/blog_migrate/d823046fd9825ca3e21b7bbe7afadbb3.png)
![c65c8d4ecb062b973abfcaac61945d40.png](https://i-blog.csdnimg.cn/blog_migrate/61f49cfae7b74903c22cc80615d3f983.jpeg)
5. 脚本下载
最后,我把本次录制及处理后的Jmeter脚本上传到了百度网盘,供大家参考。下载链接,哈哈哈,找小编ღ The End ღ
我们一起去松勤学测试
在右下角戳一个小花花
你是最好看