在前面的文章中,也有介绍类似的工具的。例如:一键将接口请求转为测试用例介绍了开源的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的字段里面的数据,写入到我们对应的测试库,组成我们测试用例就可以,注意,部分数据需要进行清洗。
这样我们就可以将抓包的数据,写入到测试平台或者接口测试框架的数据中,就完成了。
工具辅助测试,测试利用工具。
工具带来成长,成长依靠工具。
关注雷子说测试,每天给你带来不一样的分享。