上篇文章主要介绍了整体pytest框架设计,本篇主要写下具体用例如何实现,文笔有限,尽量写详细点
一、cases目录
cases目录专门用来存放用例及测试数据,直接建立在project下面,下面建子目录区分模块,如建立一个login包专门用来存放登录相关接口的测试用例,测试用例脚本必须test_*.py或者*_test.py,执行用例会自动匹配,当然匹配规则也可以更改。
二、基本用例实现
以test_login.py用例为例,先import依赖包,在cases目录下建立test_data.yml文件专门用来存放数据做数据分离,获取test_data.yml文件路径,然后调用封装好的get_yaml函数读取test_data.yml文件,返回一个list of dict数据,通过pytest的@pytest.mark.parametrize参数化将第一个dict作为test_input参数作为请求的传参(这里例子参数是json格式的),第二个dict作为期望值expect传入用来做断言,第三个数据是str类型作为title标题,用来allure生成报告动态获取标题用;@allure.severity设置用例级别,@allure.story("登录案例")设置用例模块,用例的第四个参数base_url相当于一个全局变量以前置的方式传入,