pytest-allure,pytest+allure
将MB 62 af F3 AFB 54 FB _ 51c的test _ technical博客的allure (II)的测试用例步骤(@ allure.step())添加到blog中
前言在编写自动化测试用例时,我们经常会遇到需要编写流程测试用例的场景。一般的流程测试用例有很多测试步骤,所以在测试用例中加入详细的步骤会提高测试用例的可读性。
allure提供的corrupt @ allure . step()是allure测试报告框架非常有用的功能,可以帮助我们在测试用例中详细描述测试步骤。
使用@allure.step的例子:实现一个购物场景:1。登录;2.浏览商品;3.将商品添加到购物车中;4.下订单;5.支付订单;
#文件名:测试诱惑步骤
导入pytest
进口诱惑
@allure.step
定义登录():
执行逻辑
:返回:
打印(“执行登录逻辑”)
@allure.step
def scan_good()。
执行浏览商品逻辑
:返回:
打印(“执行浏览商品逻辑”)
@allure.step
def add_good_to_shopping_car():
将商品添加到购物车
:返回:
打印(“将商品添加到购物车”)
@allure.step
定义生成器_订单():
生成订单
:返回:
打印(“生成订单”)
@allure.step
延期支付():
付款委托书
:返回:
打印(“支付订单”)
def test_buy_good()。
测试采购商品:
第一步:登录
第二步:浏览商品。
第三步:将商品加入购物车。
第四步:下订单
第五步:付款
:返回:
登录()
scan_good()
添加商品到购物汽车()
generator_order()
支付()
with allure . step(‘断言’):
断言1
if __name__==__main__ :
Test.main ([-s , test _ allure _ step.py])执行命令:
py test test _ allure _ step . py-allure dir=。/报告/结果_数据
诱人的。/report/result _ data查看测试报告以显示效果:
从报告中可以看到,我们通过@allure.step()预先定义的所有步骤都显示在测试用例test_buy_good()下。
@allure.step支持嵌套,step# file_name: steps.py在step中调用。
进口诱惑
@allure.step
定义传递_步骤_02():
打印(“步骤02”)
通过测试案例:
#文件名:测试诱惑步骤嵌套
导入pytest
进口诱惑
From.steps导入passing _ step _ 02 #从外部模块导入
@allure.step
定义传递_步骤_01():
打印(“步骤01”)
及格
@allure.step
def step_with_nested_steps():
在这个步骤中调用Nested_step()。
:返回:
nested_step()
@allure.step
def nested _ step _ with _ arguments(arg 1,arg2):
及格
@allure.step
def嵌套步骤():
在此步骤中,调用nested_step_with_arguments()并传递参数。
:返回:
nested_step_with_arguments(1,“abc”)
def test _ with _ imported _ step():
Test @allure.step()支持调用从外部模块导入的步骤。
:返回:
传递_步骤_01()
传递_步骤_02()
定义test_with_nested_steps():
Test @allure.step()支持嵌套调用step。
:返回:
传递_步骤_01()
step_with_nested_steps()
传递_步骤_02()
if __name__==__main__ :
Test.main ([-s , test _ allure _ step _ nested.py])来执行命令:
py test test _ allure _ step _ nested . py-allure dir=。/报告/结果_数据
诱人的。/report/result _ data查看测试报告以显示效果:
从上面的结果可以看出:
@step可以先保存到其他模块,在测试用例需要的时候导入;@step还支持嵌套,一步调用其他步骤;嵌套的表单显示在测试报告的树中;@allure.step支持添加描述和通过占位符传递参数# file _ name:test _ allure _ step _ with _ placeholder . py。
导入pytest
进口诱惑
@allure.step(这是一个带有描述符的步骤,参数通过占位符传递:positive= {0} ,keyword= {key} )
def step _ title _ with _ placeholder(arg 1,key=None):
及格
定义test_step_with_placeholder():
step_title_with_placeholder(1,key=something )
步骤_标题_带_占位符(2)
step_title_with_placeholder(3,key=)
if __name__==__main__ :
Test.main ([-s , test _ allure _ step _ with _ placeholder . py ])执行命令:
py测试test _ allure _ step _ with _ placeholder。py-allure dir=./报告/结果_数据
诱惑服务。/报告/结果_数据查看测试报告展示效果:
从上面的执行结果中可以看到,@allure.step()是支持输入描述的,并且支持通过占位符向描述中传递参数。
在conftest.py文件中定义@allure.stepconftest.py文件:
#文件名:conftest.py
导入pytest
进口诱惑
@pytest.fixture()
def fixture_with_conftest_step():
conftest_step()
@allure.step(这是一个在conftest.py文件中的步骤)
def conftest_step():
及格测试用例:
# file _ name:test _ allure _ step _ in _ fixture _ from _ conftest。巴拉圭
导入pytest
进口诱惑
@allure.step
定义通过_步骤():
及格
def test _ with _ step _ in _ fixture _ from _ conftest(fixture _ with _ conftest _ step):
通过_步骤()
if __name__==__main__ :
pytest.main([-s , test _ allure _ step _ in _ fixture _ from _ conftest。py ])执行命令:
py测试test _ allure _ step _ in _ fixture _ from _ conftest。py-alluredir=./报告/结果_数据
诱惑服务。/报告/结果_数据查看测试报告展示效果:
从运行结果中可以看到,在固定装置中定义的步骤会在设置和拆卸单独以树形结构展示出来。
去期待陌生,去拥抱惊喜。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。