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

论坛 期权论坛 期权     
北京宏哥   2019-7-15 09:00   2808   0
[h1]简介[/h1]  上一篇说了关于json数据处理,是为了断言方便,这篇就带各位小伙伴实战一下。首先捋一下思路,然后根据思路一步一步的去实现和实战,不要一开始就盲目的动手和无头苍蝇一样到处乱撞,撞得头破血流后而放弃了。不仅什么没学习
到,自己的自信心都受到打击了,自己都怀疑自己。其实你是最棒的,天生我材必有用,好了废话不说,进入实战——以查看快递物流接口为例。
  大致流程步骤:web页面操作—>抓包看参数和url—>代码模拟接口请求—>取到接口返回结果—>断言
[h1] web页面操作[/h1]1、浏览器输入快递物流查询url,输入快递单号,点击“查询”


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


[h1] 代码模拟接口请求[/h1]

[h1]取到接口返回结果[/h1]

[h1]断言[/h1]

[h1]代码及运行结果[/h1]

[h1]参考代码[/h1]

1 # coding:utf-8 2 import requests 3 url ="http://www.kuaidi100.com/query?type=annengwuliu&postid=300240694004&temp=0.5964149534969456&phone=" 4 headers = { 5     "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko" 6 } # get 方法加个 User-Agent 就可以了 7 s = requests.session() 8 r = s.get(url, headers=headers,verify=False) 9 result = r.json()10 print(result)11 data = result['data'] # 获取 data 里面内容12 print (data)13 print (data[0]) # 获取 data 里最上面有个14 get_result = data[0]['context'] # 获取已签收状态15 print (get_result)16 17 #进行断言18 if u"已签收" in get_result:19  print ("快递单已签收成功")20 else:21  print ("未签收")
[h1]小结[/h1]  各位小伙伴,看到了,断言就是这么简单,其实和你写的测试用例差不多,将预期与实际结果进行对比,只不过是用代码体现出来。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:25
帖子:5
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP