多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

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

更新时间:2022-07-06 09:15:41 作者:多测师 浏览:74

  利用Charles抓包巧转接口自动化测试用例,我们已经能够拿到要解析的json文件了,并且转化成json保存。那么我们来读取下。

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

  首先,我们看下上次的文件,

  {

  "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当中了。后续的文章,我会专门讲解如何存储到对应的存储中。

  以上内容为大家介绍了Charles抓包后转成接口自动化测试用例,本文由多测师亲自撰写,希望对大家有所帮助。了解更多接口自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部