python接口自动化(十九)--Json 数据处理---实战(详解)

时间:2021-10-20 13:14:26

简介

  上一篇说了关于json数据处理,是为了断言方便,这篇就带各位小伙伴实战一下。首先捋一下思路,然后根据思路一步一步的去实现和实战,不要一开始就盲目的动手和无头苍蝇一样到处乱撞,撞得头破血流后而放弃了。不仅什么没学习

到,自己的自信心都受到打击了,自己都怀疑自己。其实你是最棒的,天生我材必有用,好了废话不说,进入实战——以查看快递物流接口为例。

  大致流程步骤:web页面操作—>抓包看参数和url—>代码模拟接口请求—>取到接口返回结果—>断言

web页面操作

1、浏览器输入快递物流查询url,输入快递单号,点击“查询”

python接口自动化(十九)--Json 数据处理---实战(详解)

抓包看参数和url

1、点击“查询”,fiddler抓包,查看url和参数

python接口自动化(十九)--Json 数据处理---实战(详解)

代码模拟接口请求

python接口自动化(十九)--Json 数据处理---实战(详解)

取到接口返回结果

python接口自动化(十九)--Json 数据处理---实战(详解)

断言

python接口自动化(十九)--Json 数据处理---实战(详解)

代码及运行结果

python接口自动化(十九)--Json 数据处理---实战(详解)

参考代码

 # coding:utf-
import requests
url ="http://www.kuaidi100.com/query?type=annengwuliu&postid=300240694004&temp=0.5964149534969456&phone="
headers = {
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
} # get 方法加个 User-Agent 就可以了
s = requests.session()
r = s.get(url, headers=headers,verify=False)
result = r.json()
print(result)
data = result['data'] # 获取 data 里面内容
print (data)
print (data[]) # 获取 data 里最上面有个
get_result = data[]['context'] # 获取已签收状态
print (get_result) #进行断言
if u"已签收" in get_result:
print ("快递单已签收成功")
else:
print ("未签收")

小结

  各位小伙伴,看到了,断言就是这么简单,其实和你写的测试用例差不多,将预期与实际结果进行对比,只不过是用代码体现出来。