既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
xfail可以将测试函数标记为预期执行失败的用例。
参数 :condition — 将测试函数标记为 xfail 的条件(True/False )
参数 : reason — 测试函数被标记为 xfail 的原因
参数 : raises — 预期失败的异常类型
参数 : run — 是否应该实际执行测试函数。如果False,该函数将始终 xfail 并且不会被执行 。
参数 : strict — 严格模式(True/False )
Demo
a = 10
@pytest.mark.xfail(a > 20,reason='条件不成立,不执行' raises=AssertionError )
def test_demo()
assert item > 50
1.5、pytest.mark.usefixtures:给测试类或模块设置测试夹具
usefixtures标记一般用于给测试类下面的测试方法统一设置测试夹具。
Demo
# TestDome这个测试类的所有测试用例均执行my_fixture这个夹具
@pytest.mark.usefixtures('my_fixture这个夹具')
class TestDome:
# 函数用例 指定测试夹具
def test_02(self):
print('----测试用例:test_01------')
# 函数用例 指定测试夹具
def test_03(self):
print('----测试用例:test_02------')
二、自定义标记
pytest支持通过pytest.ini文件注册自定义的标记。以满足执行用例时,通过标记对用例进行筛选.,
2.1、注册标记
pytest.ini文件注册标记的语法如下:
[pytest]
markers =
标记1
标记2
2.2、标记函数
Demo:
# 用例前面加载标签:@pytest.mark.标签名
@pytest.mark.main
def test_demo():
pass
2.3、标记类
Demo:
# 方式一:直接类上面打标记
@pytest.mark.main
class TestClass(object):
def test_demo1(self):
assert 10 > 20
# 方式二:通过类属性pytestmark,可以同时添加多个标记
class TestClass(object):
pytestmark = [pytest.mark.main, pytest.mark.main]
def test_demo1(self):
assert 10 > 20
三、通过标记筛选用例执行
Demo:现有用例如下:
import pytest
@pytest.mark.yuze
@pytest.mark.musen
def test_01():
print("用例一")
def test_02():
print("用例二")
@pytest.mark.musen
def test_03():
print("用例三")
@pytest.mark.musen
def test_04():
print("用例四")
@pytest.mark.yuze
def test_05():
print("用例五")
@pytest.mark.yuze
def test_06():
print("用例六")
上面Demo中有6条测试用例,分别通过pytest.mark.yuze和pytest.mark.musen进行标记了,接下来我们一起来看看如何通过标记选择用例执行。
3.1、通过单个标记筛选
语法:pytest -m ‘标签名’
Demo: pytest -m musen
执行结果如下:
========================== test session starts ==========================
platform win32 -- Python 3.7.3, pytest-5.4.2, py-1.8.0, pluggy-0.13.0
rootdir: C:\project\, inifile: pytest.ini
plugins: allure-pytest-2.8.15, Faker-8.11.0, metadata-1.9.0, parallel-0.0.8, repeat-0.8.0, rerunfailures-9.0, testreport-1.1.2
collected 6 items / 3 deselected / 3 selected
test_mode.py ... [100%]
========================== 3 passed, 3 deselected in 0.29s ==========================
可以看到执行结果执行了3条用例,3条未选中。
3.2、同时选中多个标记
语法:pytest -m “标记1 or 标记2”
命令: pytest -m “musen ro yuze”
执行通过musen或者yuze 标记的的用例。执行结果如下:
========================== test session starts ==========================
platform win32 -- Python 3.7.3, pytest-5.4.2, py-1.8.0, pluggy-0.13.0
rootdir: C:\project\, inifile: pytest.ini
plugins: allure-pytest-2.8.15, Faker-8.11.0, metadata-1.9.0, parallel-0.0.8, repeat-0.8.0, rerunfailures-9.0, testreport-1.1.2
collected 6 items / 1 deselected / 5 selected
test_mode.py ..... [100%]
========================== 5 passed, 1 deselected in 0.29s ==========================
从上述结果可以看到,只要加了musen或yuze这两个标记中的任意一个
语法: pytest -m “标记1 and 标记2”
命令: pytest -m “musen and yuze”
执行通过musen和yuze这两个标记同时标记的用例。执行结果如下
========================== test session starts ==========================
platform win32 -- Python 3.7.3, pytest-5.4.2, py-1.8.0, pluggy-0.13.0
rootdir: C:\project\, inifile: pytest.ini
plugins: allure-pytest-2.8.15, Faker-8.11.0, metadata-1.9.0, parallel-0.0.8, repeat-0.8.0, rerunfailures-9.0, testreport-1.1.2
collected 6 items / 5 deselected / 1 selected
test_mode.py . [100%]
========================== 1 passed, 5 deselected in 0.29s ==========================
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
mg-eHI7OwtZ-1715822544109)]
[外链图片转存中…(img-V7vrujNd-1715822544109)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新