利用Charles抓包巧转接口自动化测试用例,咱们已经可以拿到要解析的json文件了,而且转化成json保存。那么咱们来读取下。python
首先,咱们看下上次的文件,面试
{数据库
"config": {json
"name": "testcase description",api
"variables": {}app
},测试
"teststeps": [url
{设计
"name": "/openapi/api/v2",code
"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"
]
}
]
}
]
}
咱们已经拿到json文件了,咱们能够读出来,用json模块直接强制转化,由于咱们是用的python,对json的解析是最佳的。若是对软件测试、接口测试、自动化测试、面试经验交流。感兴趣能够加软件测试交流:1085991341,还会有同行一块儿技术交流。
咱们先读出来文件,最后用json.loads 去加载就能够。具体的代码以下
import json
def openfile(filepath):
de=open(filepath,encoding="utf-8")
rslut=''
for i in de.readlines():
rslut+=i
return json.loads(rslut)
这样咱们就能够拿到json转化后的dict,那么咱们按照字典 去解析对应的文件就能够,
咱们须要获取的是,接口,方法,请求头,参数,断言的code等。
那么咱们直接能够去读取对应的字典就能够,下面给你们看看个人思路。
def readjson(json):
data=json["teststeps"][0]
interface=data['name']
method=data['request']['method']
headers=data['request']['headers']
parapme=data['request']['json']
assertcode=data['validate'][0]['eq'][1]
return interface,method,headers,parapme,assertcode
这样就返回了,全部的咱们想要的数据,而后咱们能够直接读取存入到咱们的测试用例中。在平台化 后的今天,咱们通常都会存入到数据库中。那么咱们须要设计对应的数据库去存储就能够, 也有不少放到Excel中,咱们能够直接新增到对应的Excel中。
以上内容但愿对你有帮助,有被帮助到的朋友欢迎点赞,评论