基于Fiddle导出的HAR实现RF自动化测试录制回放方案
1. Har是什么
Har即Http Archive。The HTTP Archive Tracks How the Web is Built.
We periodically crawl the top sites on the web and record detailed information about fetched resources, used web platform APIs and features, and execution traces of each page. We then crunch and analyze this data to identify trends — learn more about our methodology.
Har中详细描述了所有请求的细节,因此通过解析Har文件,可以实现录制回放接口自动化测试。
2. Har文件如何获得
通过抓包工具,以下以fiddler工具为例,描述如何录制获取Har文件:
2.1 修改fiddler配置
由于fiddler默认配置抓取的Har文件的数据大小有限制,因此首先需要修改配置。在fiddler的左左下角命令中中输入about:config,回车之后即在右侧弹出配置栏,在配置栏中新增以下配置:
fiddler.importexport.httparchivejson.maxtextbodylength=100000000000
配置修改结束。
2.2 录制
启动fiddler后,通过浏览器打开测试地址,按照正常测试步骤操作,如:
1、打开测试网页,即可看到fiddler中已成功抓取到请求数据:
输入用户名密码登录系统后,随便点击系统内的链接,可以看到fiddler准确记录了所有请求信息;
2、为了屏蔽其他无关请求的影响,可以通过filter功能过滤请求,例如通过请求的host过滤只显示指定host的请求。
2.3 导出Har
通过fiddler的Export Sessions功能可导出选中Session,导出文件名称为测试数据.har.
3. 通过har2rf工具自动生成接口自动化测试工程
下载har2rf工具jar包放置于任意目录,该工具能解释har文件,自动生成rf接口测试用例。
在下载目录中右键启动命令行窗口,输入如下命令启动转换工具:
java -jar har2rf.jar
输入上面得到的Har文件,点击回车,等待之后工程生成结束,结束后har包转换为rf接口自动化测试工程了。
4. 导入自动生成的自动化测试工程
启动ride导入以上生成的文件夹,直接start执行,可以看到所有用例执行成功。
5. 附加说明
由于断言较为复杂,特别涉及变量的断言无法自动生成,因此自动生成的工程中将断言进行了注释,但是仍自动记录了录制得到的响应值,使用者可根据需求自行打开。