美文网首页
Charles抓包后转成接口自动化测试用例

Charles抓包后转成接口自动化测试用例

作者: 茶浅呀 | 来源:发表于2020-05-06 16:27 被阅读0次

    利用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的解析是最佳的。如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流: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中。

    以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

    相关文章

      网友评论

          本文标题:Charles抓包后转成接口自动化测试用例

          本文链接:https://www.haomeiwen.com/subject/kruwghtx.html