首页 > 其他分享 >Pytest - Fixture(3) - yield遇到异常

Pytest - Fixture(3) - yield遇到异常

时间:2023-05-26 17:11:54浏览次数:44  
标签:__ py Fixture yield print Pytest test

Pytest - yield遇到异常

  • 如果yield前面的代码,即setup部分已经抛出异常了,则不会执行yield后面的teardown内容;

  • 如果测试用例抛出异常,yield后面的teardown内容还是会正常执行;

    test_py.py

    import pytest
    
    # 配置自动运行的fixture
    @pytest.fixture(scope="function", autouse=True)
    def open():
        # 会话前置操作 setup
        print("\n====打开浏览器====")
    
        yield
    
        # yield后面,会话后置操作 teardown
        print("****关闭浏览器****")
        
    def test_s1():
        print("\n用例test_s1:用例失败则也会执行yield后面的代码")
        assert False
        
    def test_s2():
        print("\n用例test_s2:删除")
    
    if __name__ == '__main__':
        pytest.main(['-q', 'test_py.py'])
        
    

标签:__,py,Fixture,yield,print,Pytest,test
From: https://www.cnblogs.com/mzline/p/17435275.html

相关文章

  • Pytest - Fixture(2) - 实现setup和teardown(yield)
    Fixture实现setup和teardown(yield)用fixture实现teardown并不是一个独立的函数,而是用yield函数来开启teardown操作;具体yield是什么,可以去度娘一下~test_py.pyimportpytest#配置自动运行的[email protected](scope="function",autouse=True)defo......
  • python中yield关键字
    yield就是保存当前程序执行状态。yield可以简单理解为return操作,但和return又有很大的区别。执行完return,当前函数就终止了,函数内部的所有数据、内存空间,全部都没有了。而yield在返回数据的同时,还保存了当前的执行内容,当你再一次调用这个函数时,他会找到你在此函数中的yield关键字......
  • Pytest - Fixture(1) - 入门&概述
    Pytest-Fixture入门&概述之前讲过测试用例的前置和后置的方法,可以使用setup和teardown函数实现,但是这种方法是用于全部测试用例的;当我有部分测试用例不需要setup的方法该怎么办?pytest提供了fixture方法,让我们可以自定义测试用例的前置及后置条件;还可以根据配置......
  • Pytest - setup 和 teardown
    Pytest-setup和teardown执行用例肯定有些需要前置条件或后置操作,例如前置的用户登陆,后置的清理数据等操作;unittest提供了两种前置(setup、setupClass)和两种后置(teardown、teardownClass);相比之下,pytest提供了十种setup和teardown方法:模块级别:setup_module、te......
  • Pytest - 断言判断(2) - 断言失败继续执行(pytest-assume)
    断言失败继续执行前言一般情况下我们在使用assert断言失败后,后面的代码就不会继续运行;如果我们想要在断言失败后想要继续运行代码,就不能使用assert进行验证;一个可以允许pytest测试用例中,执行多个失败的断言的插件:多重断言pytest-assume安装pipinstallpytest......
  • Pytest - pytest 命令(1) - 命令执行方法
    命令执行方法讲解下pytest分别在Windows,Linux,Pycharm中,执行pytest的方法;追加的参数可以参考:Pytest-pytest命令(2)-命令参数及含义Pytest-pytest命令(3)-常用命令的使用Windows执行Windows下执行pytest测试脚本没什么难度,在用例的目录下打开cmd窗口......
  • pytest + yaml 框架 -29.模板过滤器语法与自定义过滤器使用
    前言v1.2.6版本支持模板过滤器语法的使用,并且可以自定义过滤器了。针对有同学提到上个接口返回一个id值,下个接口引用变量的时候需要根据这个值做一些运算,比如在引用的结果加1.jinja2是可以支持模板过滤器语法的,本篇介绍下模板过滤器的相关使用.v1.2.6版本主要更新以下几点1......
  • pytest command line
       pytest-v-s--last-failed--alluredir=report/xml -v打印详细的信息 -s输出print打印信息 --last-failed只执行上次失败的用例 --alluredir=report/xml输出alluredir到report/xml......
  • APP自动化--pytest-把图片添加到测试报告中--(异常截图)
    前面在 APP自动化--pytest-把图片添加到测试报告中--(主动截图)中说明了extra.append(extras.image(driver1.get_screenshot_as_base64()))的用法,那么把它放到conftest的异常截图代码中就可以实现异常截图。importpytestfrompytest_htmlimportextras"""解决pytest-html......
  • Pytest - pytest 命令(3) - 常用命令的使用
    pytest常用命令测试信息输出#设置pytest的执行参数"-q":安静模式,不输出环境信息pytest.main(["-q"])#设置pytest的执行参数"-s":显示程序中的print/logging输出pytest.main(["-s"])#设置pytest的执行参数"-v":丰富信息模式,输出更详细的用例执行信息pytest.main(......