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

news/2024/7/8 5:12:28

简介

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

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

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

 web页面操作

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

如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

抓包看参数和url

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

 代码模拟接口请求

 

取到接口返回结果

 

断言

代码及运行结果

参考代码

 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 ("未签收")

小结

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


http://lihuaxi.xjx100.cn/news/1316555.html

相关文章

使用TongRDS替换开源redis 并设置开机自启动

使用TongRDS替换开源redis 并设置开机自启动 1、安装TongRDS2、设置TongRDS开机自启动3、禁用开源redis docker 容器开机自启动 1、安装TongRDS 2、设置TongRDS开机自启动 3、禁用开源redis docker 容器开机自启动

Nginx应用 解决Nginx - 504 Gateway Time-out问题

目录 问题背景 问题分析 解决方法 拓展知识 问题背景 线上有个系统,最前端是设置了nginx作为代理,有个1个请求的接口需要耗时1.1分钟左右,老是出现Nginx - 504 Gateway Time-out的错误。 问题分析 绕过nginx直接访问应用tomcat直接的端口进…

Spark(15):SparkSQL之DataFrame

目录 0. 相关文章链接 1. DataFrame的作用 2. 创建DataFrame 3. SQL 语法 4. DSL 语法 5. RDD 转换为 DataFrame 6. DataFrame 转换为 RDD 0. 相关文章链接 Spark文章汇总 1. DataFrame的作用 Spark SQL 的 DataFrame API 允许我们使用 DataFrame 而不用必须去注册临时…

Docker学习笔记23

Docker Swarm架构: Swarm中以集群(Cluster)为单位进行管理,支持服务层面的操作。 集群是Swarm所管理的对象。 基本概念: 节点(Node)为Swarm集群中的一个Docker Engine实例。其中管理节点&#…

Linux学习之分区挂载

VMWare 16虚拟机添加一块硬盘 点击“硬盘(SCSI)”,在弹出来的窗口点击“硬盘(SCSI)”之后添加。 选择硬盘之后,点击下一步。 虚拟磁盘类型,就选择默认的SCSI(S)。 选择“创建新虚拟机磁盘…

微信小程序反编译之后运行报错“_typeof3 is not a function”

微信小程序解包之后,在微信开发者工具当中点开调试器,选择Console选项卡,发现左侧的预览界面是空白的,虽然真机调试可以有显示,但是真机预览也是跟左边的界面一样都是空白。之后发现Console里面显示 解决方法&#x…

【软件工程】常见名词解释

开源软件: 开源软件是一种源代码可以自由获取和传播的计算机软件,其拥有者通过开源许可证赋予 被许可人对软件进行使用、修改和传播的权力。 软件工程: 软件工程是指①将系统的、规范的、可量化的方法应用于软件开发、运行和维护的过程&…

Redis通用命令数据结构

目录 Redis通用命令 官网查看不同命令https://redis.io/commands/ help命令:查询各种命令用法 keys命令:查看符合模板的所有key Redis的key结构 ​编辑 数据结构 String类型 String常用指令 Hash类型 Hash常用命令 List类型 List常用命令 …