pytest-allure,pytest+allure

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: