Fiddler导出JMeter的用例文件
1. Fiddler+JMeter案例
常用的抓包"神器",界面操作简单易懂,可以运行在Windows和Linux环境下,功能多种多样,对于日常分析接口完全够用。
但是Fiddler分析完接口,想完成接口测试的时候,就显得捉襟见肘,通过更改参数,一个一个请求?那也太费劲了,而且Fiddler还没有断言功能,那么,怎么能分析完接口直接就进行接口测试呢?
有一个很常见的案例:Fiddler+JMeter。
-
Fiddler抓取过滤httpbin.org
httpbin.org的接口 -
导出为JMeter
导出所选会话
选择JMeter格式
保存目录
使用JMeter打开
JMeter打开
2. Fiddler添加JMeter插件
Fiddler自带的导出功能如下(默认不包含导出为JMeter文件):
Fiddler导出
那么,怎么添加这个插件?
- 下载插件
- a.向开源大佬致敬:Fiddler二次开发之JMeter导出插件
- b.下载位置(下载好之后可能会报病毒):
//百度网盘链接可能会失效
链接:https://pan.baidu.com/s/1KS473phQUxHXjny5sRIZ9A
提取码:kyoh
复制这段内容后打开百度网盘手机App,操作更方便哦
- 移动配置目录
-
将插件文件JmeterExport.dll移动到Fiddler2\ImportExport下:
移动好之后
重启Fiddler,然后导出文件是不是就有了JMeter的选项了?
3.可能会遇到问题
如果安装失败,或者是JMeter打开失败,请反馈对应信息。
3.1 JMeter打开文件报错失败
报错内容
Problem loading XML from:'C:\Users\ixixi\Desktop\demo2.jmx'.
Cause:
CannotResolveClassException: com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion
Detail:com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.converters.ConversionException
cause-message :
first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:66)
class : org.apache.jmeter.save.ScriptWrapper
required-type : org.apache.jmeter.save.ScriptWrapper
converter-type : org.apache.jmeter.save.ScriptWrapperConverter
path : /jmeterTestPlan/hashTree/hashTree/hashTree[4]/hashTree/com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion
line number : 71
version : 5.3
-------------------------------
截图示例
报错原因:CannotResolveClassException: com.atlantbh.jmeter.plugins.jsonutils.jsonpathassertion.JSONPathAssertion,没有JSON插件,对应的安装JMeter的JSON插件就好
- JMeter插件管理器下载地址,放到lib\ext目录:https://jmeter-plugins.org/install/Install/#Plugins-Manager-Download
-
搜索JSON/YAML Plugins,下载:
image
4. 扩展分析
JMeter的用例文件为:.jmx。本质上是一个XML文件,格式详情如下:
JMX文件内容JMeter的组件,请求内容,断言等信息都在这里存着。
所以呢,Fiddler导出内容按照这个格式排版就可以了。
日常工作总也会遇到各种一种工具的欠缺,刚好是另外一种工具可以弥补的,就像上面的Fiddler+JMeter;
还可以解决一些其他的事情,例如没有接口文档的老大难问题,那么,我们是不是可以制定接口文档的模板,然后Fiddler的源文件按照我们的模板导出,直接导出接口文档呢?