接口测试框架实战(二)| 接口请求断言

简介: 题图引用自 Real Python接口请求断言是指在发起请求之后,对返回的响应内容去做判断,用来查看是否响应内容是否与规定的返回值相符。在发起请求后,我们使用一个变量 r 存储响应的内容,也就是 Response 对象。Response 对象有很多功能强大的方法可以调用,比如直接获取响应头,获取 Unicode 编码后的响应内容,获取二进制的响应内容,获取原始的响应内容等等。获得响应头
更多技术文章分享和免费资料领取
https://qrcode.testing-studio.com/f?from=Aliyun&url=https://ceshiren.com/t/topic/16586
题图引用自 Real Python
接口请求断言是指在发起请求之后,对返回的响应内容去做判断,用来查看是否响应内容是否与规定的返回值相符。
在发起请求后,我们使用一个变量 r 存储响应的内容,也就是 Response 对象。
Response 对象有很多功能强大的方法可以调用,比如直接获取响应头,获取 Unicode 编码后的响应内容,获取二进制的响应内容,获取原始的响应内容等等。
获得响应头
获得编码后的响应值:
还可以使用 r.raw 获得原始响应内容,r.content 获得二进制的响应内容,另外还有编码为 JSON 格式的响应内容,会在后面的章节进行详述。
安装 JSON 库:
响应状态码断言:
assert 是 Python 的内置函数,用来判断表达式,当表达式条件为 False 的时候就会触发异常。
r.status_code 是 Response 对象内的一个方法,用于获得返回值的状态码。
assert r.status_code==200 就是在判断状态码是否等于200,如果不等于200则会抛出异常。
反例:响应状态码断言,判断响应状态码是否为400
从上个例子可以知道,这个响应状态码应该是 200,因为与 400 不相等,所以抛出了异常。
在测试过程中,大部分接口的返回值都为 JSON 格式。所以,掌握如何对 JSON 响应值进行断言这一技能,可以更轻松的完善接口自动化测试用例。
r.json() 对于响应值 r 先进行 JSON 编码:
对于字典格式,可以通过 dict["key"] 的方式拿到 value 值.
对于列表格式,可以通过 list[index] 拿到对应索引的 value 值。
在 JSON 的断言之中,主要应用的就是字典和列表自带的查找方法。如果碰到混合或者嵌套的情况,只需要一层一层拨开,直到找到需要进行断言的字段即可。
字典格式断言,判断 headers 中的 Host 为 httpbin.org

1.第一层是 key 值为 "header" 的 value
2.第二层是 key 值为 "Host" 的 value
3.判断 key 值为 "Host" 的 value 值是否与 "httpbin.org" 相等
字典混合列表格式断言,判断 hogwarts 对应的列表的第一位是 'a'

4.第一层是 key 值为 'form' 的 value
5.第二层是 key 值为 'hogwarts' 的 value
6.第三层是索引为 0 的 value
7.判断上一步索引为 0 的 value 是否等于 "a"
更多内容,我们在后续章节详细解读。

原文链接

⬇️ 点击“下方链接”,提升测试核心竞争力!

更多技术文章分享和免费资料领取
https://qrcode.testing-studio.com/f?from=Aliyun&url=https://ceshiren.com/t/topic/16586
相关文章
|
1天前
|
设计模式 敏捷开发 监控
深入理解自动化测试框架的设计原则与实践
【5月更文挑战第15天】在软件工程的领域里,自动化测试已成为提高软件开发效率、保障产品质量的重要手段。本文将深入探讨自动化测试框架的设计原则及其在实际项目中的应用实践。通过分析设计模式、模块化、可扩展性等关键因素,揭示构建高效、可靠自动化测试框架的策略和方法。同时,结合实际案例,展示如何在多变的测试需求中保持测试框架的稳定性和灵活性。
|
1天前
|
jenkins 测试技术 持续交付
Pytest测试框架
Pytest是一个功能强大的测试框架,支持单元测试和复杂功能测试,可结合Requests和Selenium等进行接口和自动化测试。它拥有超过315个插件,兼容unittest,并能与Allure、Jenkins集成实现持续集成。安装可通过pip或Pycharm。Pytest遵循特定命名规则,测试用例由名称、步骤和断言组成。断言用于验证预期结果,当失败时程序会终止。Pytest提供setup/teardown机制来管理测试前后的资源。
15 3
|
1天前
|
开发框架 监控 Java
深入探索Spring Boot的监控、管理和测试功能及实战应用
【5月更文挑战第14天】Spring Boot是一个快速开发框架,提供了一系列的功能模块,包括监控、管理和测试等。本文将深入探讨Spring Boot中监控、管理和测试功能的原理与应用,并提供实际应用场景的示例。
15 2
|
1天前
|
存储 人工智能 测试技术
python自动化测试实战 —— CSDN的Web页面自动化测试
python自动化测试实战 —— CSDN的Web页面自动化测试
193 0
|
1天前
|
Web App开发 设计模式 测试技术
python自动化测试实战 —— 自动化测试框架的实例
python自动化测试实战 —— 自动化测试框架的实例
15 0
|
1天前
|
监控 数据可视化 IDE
python自动化测试实战 —— 单元测试框架
python自动化测试实战 —— 单元测试框架
14 2
|
1天前
|
Web App开发 JavaScript 测试技术
python自动化测试实战 —— WebDriver API的使用
python自动化测试实战 —— WebDriver API的使用
8 1
|
1天前
|
Java 测试技术 数据库连接
【如何学习Python自动化测试】—— Python 的 unittest 框架
【如何学习Python自动化测试】—— Python 的 unittest 框架
6 0
|
1天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
1天前
|
测试技术
如何管理测试用例?测试用例有什么管理工具?YesDev
该文档介绍了测试用例和测试用例库的管理。测试用例是描述软件测试方案的详细步骤,包括测试目标、环境、输入、步骤和预期结果。测试用例库用于组织和管理这些用例,强调简洁性、完整性和可维护性。管理者可以创建、删除、重命名用例库,搜索和管理用例,以及通过层级目录结构来组织用例。此外,还支持通过Excel导入和导出测试用例,以及使用脑图查看用例关系。后台管理允许配置全局别名,如用例状态、优先级和执行结果。

热门文章

最新文章