前言
- 场景测试中一般步骤较多,在自动化用例中,可以使用allure.step()添加步骤描述,便于理解和定位问题。
代码示例
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/11/27 3. # @Author : 大海 4. # @File : test_40.py 5. 6. import os 7. import allure 8. import pytest 9. 10. ''' 11. 场景:商品添加购物车,结算支付成功。 12. 用例步骤:1.登陆 2.商品添加购物车 3.生成订单 4.支付成功 13. ''' 14. 15. 16. @allure.step('前置操作:登录') 17. def login(username, password): 18. """登录""" 19. print(f"前置操作:登陆成功!{username}{password}") 20. 21. 22. @allure.step("step1:商品添加购物车") 23. def add_shopping_cart(goods_id): 24. """添加购物车""" 25. print(f"添加购物车{goods_id}") 26. 27. 28. @allure.step("step2:生成订单") 29. def create_order(): 30. """生成订单""" 31. print("create_order:生成订单") 32. 33. 34. @allure.step("step3:支付") 35. def pay_money(): 36. """支付""" 37. print("pay:支付!") 38. 39. 40. @pytest.fixture(scope="session") 41. def login_setup(): 42. login("大海", "123456") 43. 44. 45. @allure.feature("购物模块") 46. @allure.story("登录用户可购买商品") 47. @allure.title("登录用户,添加商品到购物车,下单支付成功。") 48. def test_add_goods_and_buy_(login_setup): 49. """ 50. 用例描述: 51. 前置:登陆 52. 用例步骤:1.添加购物车 2.生成订单 3.支付成功 53. """ 54. 55. # 商品添加购物车 56. add_shopping_cart(goods_id=1018) 57. 58. # 生成订单 59. create_order() 60. 61. # 支付 62. pay_money() 63. 64. with allure.step("断言支付状态为true"): 65. status = True 66. assert status 67. 68. 69. if __name__ == '__main__': 70. os.system('pytest -s test_40.py --alluredir ./report/allure_raw')
查看报告
- allure serve 报告路径