内置的pytest.mark.parametrize装饰器可以用来对测试函数进行参数化处理。下面是一个典型的范例,检查特定的输入所期望的输出是否匹配:test_expectation.pyimportpytest@pytest.mark.parametrize("test_input,expected",[("3+5",8),("2+4",6),("6*9",42),])deftest_eval(test_input,expected):asserteval(test_input)==expected装饰器@parametrize定义了三组不同的(test_input,expected)数据,
说明:pytest.ini是pytest的全局配置文件,一般放在项目的根目录下是一个固定的文件-pytest.ini可以改变pytest的运行方式,设置配置信息,读取后按照配置的内容去运行pytest.ini设置参数1.addopts 设置自定义执行参数,pytest运行时以此设置为默认执行条件 例如: 进行如下设置后 执行pytest时默认执行的是pytest -v-s test_f.py[pytest]addopts=-v-stest_f.py2. filterwarnings隐藏一些不推荐使用的警告 [pytest]filterwarnings=ignore:.*U.*modeisd
pytest允许在测试用例中使用标准的python断言,如下:#test_case.py中的内容deffoo(x,y):returnx+ydeftest_01():assertfoo(3,4)==8本例中的函数期望返回一个固定的值。如果该断言失败了,你会看到该函数的返回值:$pytesttest_assert1.py=============================testsessionstarts==============================platformdarwin‐‐Python3.7.6,pytest‐4.2.1,py‐1.7.0,pluggy‐0.8.1roo
pytest允许在测试用例中使用标准的python断言,如下:#test_case.py中的内容deffoo(x,y):returnx+ydeftest_01():assertfoo(3,4)==8本例中的函数期望返回一个固定的值。如果该断言失败了,你会看到该函数的返回值:$pytesttest_assert1.py=============================testsessionstarts==============================platformdarwin‐‐Python3.7.6,pytest‐4.2.1,py‐1.7.0,pluggy‐0.8.1roo
常用命令1、pytest--collect-only--collect-only:表示把待执行的用例全部展示出来。待执行集合1待执行集合22、pytest-q-q:表示简则的测试报告,运行成功通过“.”表示,运行失败通过"F"表示3、pytest--lf--lf:只执行上次失败的用例4-1、pytest--tb=no不展示用例失败的错误详情4-2、pytest--tb=line展示用例失败的代码具体行数4-3、pytest-tb=short展示更加详细的错误信息5、pytest--duration=N表示把最耗时间的用例展示出来,N表示最慢的N个6、pytest--maxfail=n其中n表示
常用命令1、pytest--collect-only--collect-only:表示把待执行的用例全部展示出来。待执行集合1待执行集合22、pytest-q-q:表示简则的测试报告,运行成功通过“.”表示,运行失败通过"F"表示3、pytest--lf--lf:只执行上次失败的用例4-1、pytest--tb=no不展示用例失败的错误详情4-2、pytest--tb=line展示用例失败的代码具体行数4-3、pytest-tb=short展示更加详细的错误信息5、pytest--duration=N表示把最耗时间的用例展示出来,N表示最慢的N个6、pytest--maxfail=n其中n表示
一、fixture的特点在测试函数运行前后,由pytest执行的外壳函数,代码可定制用于将测试前后进行预备或清理核心逻辑的一种机制,在执行测试函数之前(或之后)加载运行他们跟定义函数差不多,区别是函数上加个装饰器@pytest.fixture()通常作用:有明确的名字,在其他函数、模块、类或整个工程调用它时激活,也可相互调用;参数化功能,根据配置与不同组件选择不同的参数;许多测试用例都只需要执行一次的操作:登录、数据库初始连接与关闭;满足多变的需求:定义传入测试中的数据集配置测试前系统的初始状态为批量测试提供数据源等二、conftest.py配置可实现数据共享,有如下特点:conftest这个
一、fixture的特点在测试函数运行前后,由pytest执行的外壳函数,代码可定制用于将测试前后进行预备或清理核心逻辑的一种机制,在执行测试函数之前(或之后)加载运行他们跟定义函数差不多,区别是函数上加个装饰器@pytest.fixture()通常作用:有明确的名字,在其他函数、模块、类或整个工程调用它时激活,也可相互调用;参数化功能,根据配置与不同组件选择不同的参数;许多测试用例都只需要执行一次的操作:登录、数据库初始连接与关闭;满足多变的需求:定义传入测试中的数据集配置测试前系统的初始状态为批量测试提供数据源等二、conftest.py配置可实现数据共享,有如下特点:conftest这个
最新设计说明:使用selenium4的以服务方式连接驱动,使用selenium4唯一的两种定位方式,并加上智能流畅等待的封装。最终效果:1、实现页面代码与测试代码分离,2、封装公共方法,其他页面通过继承调用。3、实现测试代码与测试数据分离4、实现allure输出加上附加截图等报告。5、实现并发执行。1、POM介绍略2、封装通用方法#哪些公共基本操作方法,初始化应该有操作方法fromselenium.webdriver.support.waitimportWebDriverWaitclassBaseAction(object):#:后面是数据类型,这个driver就是浏览器def__init__
最新设计说明:使用selenium4的以服务方式连接驱动,使用selenium4唯一的两种定位方式,并加上智能流畅等待的封装。最终效果:1、实现页面代码与测试代码分离,2、封装公共方法,其他页面通过继承调用。3、实现测试代码与测试数据分离4、实现allure输出加上附加截图等报告。5、实现并发执行。1、POM介绍略2、封装通用方法#哪些公共基本操作方法,初始化应该有操作方法fromselenium.webdriver.support.waitimportWebDriverWaitclassBaseAction(object):#:后面是数据类型,这个driver就是浏览器def__init__