以LoadRunner 为例通过 Har 生成测试脚本
前言
HTTP Archive (HAR) format 是http协议交互的归档格式。
这个格式在本质上就是utf8格式的json字符串,存储着所有的http请求和http响应的数据,包括所有的head和body。
如何获取HAR格式
一般,很多proxy类的工具,如fiddler,charles,原来一直以为charles不支持保存为har格式,后来才知道是在 export 菜单里面:
通过代理和反向代理获取http报文
在charles中,支持代理,反向代理,端口转发 这三种主要的方法获取交互的报文。
1. 代理模式:这个就是普通的代理,proxy模式,浏览器都支持。
2. 反向代理:简单说就是代理服务器,对于不支持设置代理的应用,如接口类,可以通过这个来获取报文。
3. 端口转发:这个功能更强大,基于tcp,udp层的,对于Socket类的都能录到报文。一般如果不知道是什么协议的, 可以用这个,如果判断是http协议的, 最好用反向代理模式的,这样可以更直观的看到解析后的报文。
解析har
通过代理和反向代理的方式,可以获取到http报文,导出为har格式后,进行解析,可以直接生成测试脚本。
生成的脚本,可以直接copy到LR中使用,根据需要做参数化和关联,对于不支持通过lr录制的,如接口类,app类的,通过这种方式可以更快的生成脚本。
可能还存在部分未考虑到的问题,如请求并发,编码等问题。需要根据实际情况调整。
其他
对于其他工具,也可以自己解析har生成对应的测试案例、脚本等。
另外,在charles中,还支持web interface,开启后,可以远程管理charles,打开或关闭选项,下载har文件,有需要的可以自己写请求实时远程管理,做到进一步的自动化。