拿捏大厂offer教程之接口自动化测试pytest用例管理框架

接口自动化测试之pytest用例管理框架

一、pytest用例管理框架

第三方库:https://pypi.org/search/?q=pytest

pytest默认规则:

1、py文件必须以test_开头或者_test结尾

2、类名必须以Test开头

3、测试用例必须以test_开头

pytest用例管理框架的作用:

1、发现测试用例,从多个py文件中通过默认的规则去找测试用例

2、执行测试用例,顺序和条件

3、判断测试结果,断言

4、生成测试报告,html、allure

python.unittest或pytest

java.junit或testng

二、pytest全局观

1、它可以和所有的自动化测试工具selenium,requests,appium结合实现web自动化、接口自动化以及APP自动化。

2、跳过用例以及失败用例重跑

3、结合allure生成美观的测试报告

4、和jenkins持续集成

5、有很多强大的插件

pytest-html  生成html测试报告

pytest-xdist  多线程运行

pytest-ordering  改变测试用例执行顺序

pytest-rerunfailures  失败用例重跑

allure-pytest  生成allure测试报告

一般实际项目开发当中都会使用requrements.txt文件保存插件名称,然后通过:pip   install  -r   requrements.txt

三、运行方式

pytest.main('-vs','-n=2')

1、主函数的方式(命令行方式)

-v    输出更加详细的信息

-s    输出调试信息

-n    多线程运行

-reruns   数字    失败用例重跑   pytest.main('-vs','--reruns=2')

-html=报告的路径     pytest.main('-vs','--html=./report.html')

2、实际工作中使用pytest.ini的配置文件来配置运行

四、前后置、夹具

setup/teardowm   在每个用例之前和之后执行一次

setup_class/teardowm_class   在每个类之前和之后执行一次

实现部分的前置

我想其中一个用例做数据库验证,怎么办?

部分的前置:

@pytest.fixtrue(scope="作用域",params="数据驱动",autouse="自动执行",ids="自定义参数名",name="重命名")
作用域:function, class, module,package/session

可以通过yield唤醒 类似teardowm的功能,简单理解就是返回。yieId和return都是返回数据的意思,只是区分在于,yieId返回多次以及多个数据,return只会返回一次,return之后不能接代码

一般情况下:

@pytest.fixtrue()一般会和conftest.py文件一起使用

conftest.py名称是固定的,功能很强大

1、conftest.py文件时单独存放@pytest.fixtrue()的方法,用处是可以在多个py文件之间共享前置配置

2、conftest.py里面的方法在调用时不需要导入,可以直接使用

3、conftest.py可以有多个,也可以有多个不同层级

五、参数化

1、参数参数化

@pytest.mark.parametrize(argnames, argvalues)

argnames:要参数化的变量,string(逗号分割),list,tupleargvalues:参数化的值,list,list[tuple]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值