利用Charles抓包巧转接口自动化测试用例,我们已经能够拿到要解析的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" ] } ] } ] } |
我们已经拿到json文件了,我们可以读出来,用json模块直接强制转化,因为我们是用的python,对json的解析是最佳的。
我们先读出来文件,最后用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中。也可以存储到redis当中了。后续的文章,我会专门讲解如何存储到对应的存储中。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理