2026/2/6 5:23:11
网站建设
项目流程
晋城推广型网站开发,cms是什么意思体积,网络设计专业可以学什么,创建网站的目的是什么意思自动化测试用例在执行完成后#xff0c;我们想要很清楚的查看到测试用例的执行结果#xff0c;我们可以通过Pytest中的Hooks来进行获取吗#xff1f;其中Pytest中存在多个Hooks的函数#xff0c;小编今天先简单介绍其中一种#xff0c;通过pytest_runtest_makereport 获取…自动化测试用例在执行完成后我们想要很清楚的查看到测试用例的执行结果我们可以通过Pytest中的Hooks来进行获取吗其中Pytest中存在多个Hooks的函数小编今天先简单介绍其中一种通过pytest_runtest_makereport 获取自动化测试用例的执行情况。获取用例结果pytest_runtest_makereport 是Pytest中提供的方法我们可以通过执行自动化测试用例进行获取其对应的结果信息此函数需要写入到conftest.py文件中进行简单的二次开发将执行结果获取出来# coding:utf-8import pytestpytest.hookimpl(hookwrapperTrue, tryfirstTrue)def pytest_runtest_makereport(item, call):# 获取钩子方法的调用结果out yieldreport out.get_result()print(report.__dict__)通过执行测试用例后会发现我们已经将一些测试信息打印出来了。从上图执行结果中可以发现可以很清楚的看到获取三次执行结果其中分别是setup call teardown安静这里可以理解成分别是执行用例前执行测试用例执行测试用例后。案例展示小编这边通过一个简单的Pytest可以执行的测试用例再次将pytest_runtest_makereport进行二次开发将所有的详细参数进行打印出来。首先进行创建一个测试用例test_01.py# test01.py# coding:utf-8def test():用例描述print(测试用例1)编写pytest_runtest_makereport函数进行将测试结果不同信息进行打印出来# conftest.py 文件# coding:utf-8import pytestpytest.hookimpl(hookwrapperTrue, tryfirstTrue)def pytest_runtest_makereport(item, call):# 获取钩子方法的调用结果out yield# 获取执行结果内容report out.get_result()print(测试报告{} .format(report))print(当前执行步骤{} .format(report.when))print(当前执行测试用例{} .format(report.nodeid))print(当前用例描述{} .format(report.nodeid))print(当前执行结果{} .format(report.outcome))print(当前报错信息{} .format(report.longrepr))print(执行时间{} .format(report.duration))打开cmd窗口执行pytest -s test_01.py可以通过上面的执行结果看到我们的前置用例后置都是执行成功的那么如果我们加上setup和teardown来看看执行结果如何# test01.py# coding:utf-8def setup():print(测试执行开始)def teardown():print(测试执行结束)def test():用例描述print(测试用例1)再次通过cmd窗口进行运行程序通过从下图可以看出没有什么整体变化因为我们这里的测试用例都是成功的。前置出现错误首先小编这里先编写一个前置操作时出现错误也就是代码中的setup中出现错误信息# 前置代码出现错误def setup():assert 1 0通过执行发现我们前置操作执行错误或者失败后执行完测试用例后后置内容不再进行执行。后置出现错误前置错误已经完成了尝试那么我们通过后置进行尝试出现错误看看如何执行顺序的。def teardown():assert 1 0通过运行代码后发现后置出现错误后代码继续运行完成。call出现执行错误前置和后置setup和teardown都已经失败过了那么接下来就是测试用例环节了当测试用例通过断言失败后# test01.py# coding:utf-8def setup():print(测试执行开始)def teardown():print(测试执行结束)def test():用例描述print(测试用例1)assert 1 0通过执行后会发现我们已经将测试用例的前置和后置执行完成并将测试用例的错误信息全部打印出来了。其他目前小编这里收集了一些关于pytest_runtest_makereport函数中常用到的其他几种方法。首先我们需要通过yield方法获取到到测试用例的执行结果集合然后将此结果进行读取出来存放到一个变量中report yield返回值.get_result()然后通过report.XXXX获取测试用例执行的结果。当前执行步骤report.when当前执行测试用例report.nodeid当前用例描述report.nodeid当前执行结果report.outcome当前报错信息report.longrepr当前报错异常信息call.excinfo执行时间report.duration总结小编这里通过一个简单的测试用例进行通过Hooks函数进行介绍了该函数方法的使用和结果展示此方法主要讲我们的测试用例的一些执行结果或者错误信息如何获取。当然具体获取到这些结果后后续我们如何使用这个就需要通过公司项目进行实践操作了。感谢您的阅读希望小编的文章会对您有所帮助。最后作为一位过来人也是希望大家少走一些弯路在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈这些资料希望能给你前进的路上带来帮助。视频文档获取方式这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。