用例编写能力门槛
python入门级,会看F12数据
- 熟悉功能测试,单接口测试,会使用类似postman同类工具。
- 熟悉 python的数据类型,string,int,list,dict等常见数据类型
- 了解这些数据类型的一些操作方法:拼接、切片、取数等
- 了解类 和 方法的 基本使用
- 了解F12里面的各页签和字段的数据概念。
用例设计思路:
常规用例的模板:
用例编写的内容主要包括:
1. 用例标题
2. 对应接口
3. 请求头数据
4. 请求方法和入参类型
5. 请求参数
6. 提取数据
7. 预期断言
from testbase.base_unittest import UnitTemplate
class TestAutoHome(UnitTemplate):
"""登录后获取xxx的接口"""
def test_1001(self):
self.tci["验证点"] = "登录后-fetchUserDesktop接口"
self.tci["接口url"] = "/config/v2/xxxx/p/fetchUserDesktop"
self.tci["请求头"] = {"Content-Type": "application/json"}
self.tci["请求方法"] = "post"
self.tci["入参类型"] = "json"
self.tci["参数"] = {}
self.tci["是否打印"] = "json"
api_url, rsp = self.do_test()
self.fast_assert_data_count(rsp, 'data.roles', 1)
用例的注意事项:
-
按目录分类:
- 项目-模块-功能分组(目录下的__init__.py需存在)
-
用例文件:
- 英文_功能_test.py 如: a_search_test.py
-
用例类:
-
用例序号与标题
-
特殊信息处理:True,False,None
-
变量传递
提取数据:
快速断言
fast_assert_status_code:断言状态码200
fast_assert_request_time:判断接口请求时间,部分接口如果有请求时间要求,可以用这个断言去判断
fast_assert_jsoncode:快速验证返回json内的 code 字段。(默认判断code==0)
fast_assert_data_exists : 快速验证返回json内的 是否存在某个字段或字段返回不是空
fast_assert_data_count: 快速验证返回json的数据list的数量与预期的比较
fast_assert_data_equal:快速验证返回json的数据与预期是否一致
fast_assert_data_compare:快速验证返回json的数据与预期进行比较
fast_assert_endswith:快速验证json的某个字段是否以预期值结尾
fast_assert_startswith:快速验证json的某个字段是否以预期值开头
fast_assert_data_list_contain:快速验证返回json下的 list 的数据字典字段包含预期值
fast_assert_text_contains:快速验证返回text的数据数量
fast_assert_text_regex:使用正则表达式断言接口返回值是否匹配模式
fast_assert_result_regex:使用正则表达式断言接口返回值是否匹配模式
fast_assert_data_equal_new:快速验证返回json的数据是否一致,非jres框架的接口返回未统一,去掉@check_rsp(去掉了断言里面code=0的判断)
fast_assert_data_type:快速验证返回json的数据的类型与预期是否一致,非jres框架的接口返回未统一,去掉@check_rsp
-
fast_assert_range_time:时间范围判断,传入时间与时间范围进行判断,注意传进来的时间格式要统一
fast_assert_error_message:快速对错误信息进行断言
fast_assert_dwchat:丹渥chat返回断言统一,主要针对消息的解析,以及卡片指标的断言。
除了这些定义的快速断言,还有unittest自带的,self.assert.... 依然可以使用。
示例: