pytest接口自动化测试框架 | 控制测试用例执行

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest接口自动化测试框架 | 控制测试用例执行相关的知识,希望对你有一定的参考价值。

视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:pytest接口自动化测试框架 | 汇总_COCOgsta的博客-CSDN博客


在第N个用例失败后,结束测试执行

pytest --maxfail=2 # 出现2个失败就终止测试

import pytest

# 失败
def test_fail01():
    print("第一次失败")
    assert 1==2


def test_fail02():
    print("第二次失败")
    assert 1 == 2


def test_hello():
    print("第三次成功")
    assert 1 == 1


if __name__ == '__main__':
    pytest.main(["--maxfail=2", "test_fail2.py"])

发现直接在pycharm中执行不生效,但用命令行执行生效

PS D:\\SynologyDrive\\CodeLearning\\WIN\\pytest\\base_used> pytest .\\test_fail2.py --maxfail 2
======================================================================================================== test session starts ========================================================================================================
platform win32 -- Python 3.6.6, pytest-7.0.1, pluggy-1.0.0
rootdir: D:\\SynologyDrive\\CodeLearning\\WIN\\pytest\\base_used
plugins: allure-pytest-2.9.45, forked-1.4.0, html-3.1.1, metadata-1.11.0, ordering-0.6, rerunfailures-10.2, xdist-2.5.0
collected 3 items                                                                                                                                                                                                                    

test_fail2.py FF

============================================================================================================= FAILURES ==============================================================================================================
____________________________________________________________________________________________________________ test_fail01 ____________________________________________________________________________________________________________

    def test_fail01():
        print("第一次失败")
>       assert 1==2
E       assert 1 == 2

test_fail2.py:6: AssertionError
------------------------------------------------------------------------------------------------------- Captured stdout call --------------------------------------------------------------------------------------------------------
第一次失败
____________________________________________________________________________________________________________ test_fail02 ____________________________________________________________________________________________________________

    def test_fail02():
        print("第二次失败")
>       assert 1 == 2
E       assert 1 == 2

test_fail2.py:11: AssertionError
------------------------------------------------------------------------------------------------------- Captured stdout call --------------------------------------------------------------------------------------------------------
第二次失败
====================================================================================================== short test summary info ======================================================================================================
FAILED test_fail2.py::test_fail01 - assert 1 == 2
FAILED test_fail2.py::test_fail02 - assert 1 == 2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 2 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================================================================================= 2 failed in 0.09s =========================================================================================================
PS D:\\SynologyDrive\\CodeLearning\\WIN\\pytest\\base_used>

以上是关于pytest接口自动化测试框架 | 控制测试用例执行的主要内容,如果未能解决你的问题,请参考以下文章

pytest接口自动化测试框架 | 重新运行失败用例

pytest接口自动化测试框架 | 通过标记表达式执行用例

pytest接口自动化测试框架 | 使用装饰器修饰需要运行的用例

pytest接口自动化测试框架 | conftest.py和@pytest.fixture()结合

自动化接口测试-PyTest自动化测试框架

pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联