在前面的文章中,也有介绍类似的工具的。例如:一键将接口请求转为测试用例介绍了开源的mitmproxy录制转化为接口测试用例,postman接口用例转化为python自动化测试用例 文章记录了如何把postman的测试用例转化为python的接口自动化的测试用例,那么今天呢,在来介绍,用charles抓包转为接口测试用例的方式。具体的怎么做呢,听我一一道来。
首先呢,我们启动charles抓包。打开charles设置抓包,网上教程有很多,这里不再介绍怎么设置charles抓包。我们连上charles的代理去请求对应的接口就可以。这里我们可以看到charles会抓到链接代理的所有的请求。
我们可以看到,我们录制的两个请求的接口。那么我们接下来把这个两个接口导出来。怎么导出呢。选择我们的要导出的接口,右键选择export。选择我们要保存的名称,格式选择.har格式。
接下来,我们去安装对应的python模块。开源地址:https://github.com/httprunner/har2case,对应的安装方式
pip install har2case
安装完毕后,我们可以去使用下
我们对应产生了两个接口文件,对应都转化成json。
我们看下对应的json文件。
第一个文件的json详情。
{ "config": { "name": "testcase description", "variables": {} }, "teststeps": [ { "name": "/openapi/api/v2", "request": { "url": "http://openapi.tuling123.com/openapi/api/v2", "method": "POST", "headers": { "Content-Type": "application/json", "User-Agent": "PostmanRuntime/7.15.2", "Postman-Token": "8a096b5c-425a-4cfc-bf52-75ef38f5ba76" }, "json": { "reqType": 0, "perception": { "inputText": { "text": "闄勮繎鐨勯厭搴�" }, "inputImage": { "url": "imageUrl" }, "selfInfo": { "location": { "city": "鍖椾含", "province": "鍖椾含", "street": "淇℃伅璺�" } } }, "userInfo": { "apiKey": "", "userId": "" } } }, "validate": [ { "eq": [ "status_code", 200 ] }, { "eq": [ "headers.Content-Type", "text/plain; charset=UTF-8" ] } ] } ]}
第二个文件。
{ "config": { "name": "testcase description", "variables": {} }, "teststeps": [ { "name": "/openapi/api/v2", "request": { "url": "http://openapi.tuling123.com/openapi/api/v2", "method": "POST", "headers": { "User-Agent": "PostmanRuntime/7.15.2", "Postman-Token": "0a2ee535-cfd7-44d4-a1f6-2e433c9a907b" }, "data": "" }, "validate": [ { "eq": [ "status_code", 200 ] }, { "eq": [ "headers.Content-Type", "text/plain; charset=UTF-8" ] } ] } ]}
这里我们拿到这两个文件,我们看下,怎么去取这些值,
我们可以看到 teststeps里面的数据是我们可以用到的,用python的json模块,去解析这个文件,拿到对应的name,reuqest的字段里面的数据,写入到我们对应的测试库,组成我们测试用例就可以,注意,部分数据需要进行清洗。
这样我们就可以将抓包的数据,写入到测试平台或者接口测试框架的数据中,就完成了。
工具辅助测试,测试利用工具。
工具带来成长,成长依靠工具。
关注雷子说测试,每天给你带来不一样的分享。
如果感觉有用,点击在看