一.Fixture用例分组运行常用于冒烟测试,分模块运行等 pytest.ini配置文件中增加分组参数markers来实现用例分组,如: markers = g1:组一 smoke:冒烟测试 pytest.ini内容如下: [pytest] addopts = -s --html=./report.html testpaths = ./pytest-demo.py python_files = pytest*.py python_classes = Test* python_functions…
一.Pytest简介pytest是一个非常成熟的全功能的Python测试框架,主要有一下几个特点:1.简单灵活,容易上手,支持参数化2.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium.appium等自动化测试,requests+pytest接口自动化测试3.pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如: pytest-selenium(集成selenium) pytest-html(完美html测试报告生成) pytest-rerunfailures(失…
一.Fixture参数之params参数可实现参数化:(可以为list和tuple,或者字典列表,字典元祖等) 实例如下: import pytest def read_yaml(): '] @pytest.fixture(params=read_yaml()) def get_param(request): return request.param def test01(get_param): print('测试用例:'+get_param) if __name__ == '__main__'…
fixtrue修饰器标记的方法通常用于在其他函数.模块.类或者整个工程调用时会优先执行,通常会被用于完成预置处理和重复操作.例如:登录,执行SQL等操作. 完整方法如下:fixture(scope='function',params=None,autouse=False,ids=None,name=None) 参数说明: 1.scope参数:标记方法的作用域.有4个可选值:function(默认,函数).class(类).module(模块).package/session(包) (1)作用域为…
一.Pytest的前置和后置方法 1.Pytest可以集成unittest实现前置和后置 import unittest import pytest class TestCase(unittest.TestCase): def setUp(self) -> None: print('unittest每个用例前置') def tearDown(self) -> None: print('unittest每个用例后置') @classmethod def setUpClass(cls) ->…
目录 1.Pytest中的Mark介绍 2.Mark的使用 3.Mark的注册和使用 4.使用Mark完成失败重试 5.扩展 1.Pytest中的Mark介绍 Mark主要用于在测试用例/测试类中给用例打标记,实现测试分组功能,并能和其它插件配合设置测试方法执行顺序等. 在实际工作当中,我们要写的自动化用例会比较多,而且不会都放在一个.py文件里. 如下图,现在需要只执行红色部分的测试方法,其它方法不执行. 2.Mark的使用 在Pytest当中,先给用例打标记,在运行时,通过标记名来过滤测试用…
pytest中提供的mark模块,可以实现很多功能,如: 标记用例,即打标签 skip.skipif标记跳过,skip跳过当前用例,skipif符合情况则跳过当前用例 xfail标记为预期失败 标记用例 有时候我们可能并不需要执行项目中的所有用例,而只执行其中的某些用例,即指定执行某一类或某个场景的测试用例,比如只执行冒烟用例,那么这个时候就需要使用@pytest.mark.标签名来进行打标签过滤.标签名需要先注册,然后才能使用. 注册标签 官方文档里提供了三种注册标签的方法,这里只介绍pyte…
目录 1.Pytest参数介绍 2.Pytest框架用例命名规则 3.Pytest Exit Code说明 4.pytest.ini全局配置文件 5.Pytest执行测试用例的顺序 1.Pytest参数介绍 -v:打印用例执行的详细过程. -q:只显示整体测试结果.(显示简略过程) -s:用于显示输出调试信息,包括测试函数中print()函数输出的信息. -x,--exitfirst:在第一个错误或测试失败时立即退出. 示例:在第N个用例失败以后,结束测试执行. 第1次失败,就停止测试:pyte…
pytest框架规则 测试文件以test_开头或者以_test结尾 测试类以Test开头,并且不能带有init方法 测试函数以test_开头 断言使用assert pytest框架运行用例 运行单个文件 运行多个文件 运行整个目录 import pytest if __name__=="__main__": # 运行单个文件,添加对应文件的路径,使用相对路径 pytest.main(['../test_requests/test_assert.py']) # ../ run_case目…
不多说,直接上干货! 参考博客 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装OpenCV(离线方式和在线方式)(图文详解) 第一步:首先,提示升级下pip 第二步:下载安装wheel 也可以去网站里先下载好,离线安装.也可以如上在线安装.   第三步: 安装lxml 因为,我的是 成功! 验证下 第四步:安装Twisted PS C:\Anaconda3\Lib\site-packages> pip install Twisted--cp35-cp35m-w…