Pytest指定用例执行

pytest 可以灵活的挑选测试用例执行

指定一个模块

如下:

pytest cases\Login\test_错误登录.py

 

指定目录

可以像这样只挑选一个目录执行

pytest cases

也可指定多个目录

pytest case1 case2\Login

 

指定模块里面的函数或者类

指定一个类

pytest cases\Login\test_错误登录.py::Test_错误密码

也可以指定类里面的方法

pytest cases\Login\test_错误登录.py::Test_错误密码::test_c001001

 

根据名字

可以使用命令行参数 -K 后面加名字来挑选要执行的测试项

比如:

pytest -k C001001 -s

注意,-k 后面的名字

  • 可以是测试函数的名字,可以是类的名字,可以是模块文件名,可以是目录的名字

  • 是大小写敏感的

  • 不一定要完整,只要能有部分匹配上就行

  • 可以用 not 表示选择名字中不包含,比如:   pytest -k "not C001001" -s

  • 可以用 and 表示选择名字同时包含多个关键字,比如: pytest -k "错 and 密码2" -s

  • 可以用 or 表示选择名字 包含指定关键字之一即可,比如: pytest -k "错 or 密码2" -s

根据标签

可以这样给 某个方法加上标签 webtest

import pytest

class Test_错误密码3:

@pytest.mark.webtest
def test_C001021(self):
print('\n用例C001021')
assert 1 == 1

运行指定标签的用例

pytest cases -m webtest

也可以给整个类加上方法

import pytest
@pytest.mark.webtest
class Test_错误密码3:

def test_C001021(self):
print('\n用例C001021')
assert 1 == 1

也是支持中文的

import pytest
@pytest.mark.网页测试
class Test_错误密码3:

def test_C001021(self):
print('\n用例C001021')
assert 1 == 1

运行命令指定的标签

pytest cases -m 网页测试 -s

 

可以这样定义一个全局变量 pytestmark 为 整个模块文件 设定标签

import pytest
pytestmark = pytest.mark.网页测试

@pytest.mark.网页测试
class Test_错误密码3:

def test_C001021(self):
print('\n用例C001021')
assert 1 == 1
posted @ 2020-07-16 17:09  老祝头  阅读(3256)  评论(0编辑  收藏  举报