当前位置:   article > 正文

自动化测试框架系列-pytest, allure-测试用例的级别

自动化测试框架系列-pytest, allure-测试用例的级别

 1. allure装饰器描述

使用方法参数值参数说明
@allure.suite()测试套件测试(集)套件,不用报告默认显示py文件名
@allure.epic()epic描述敏捷里面的概念,定义史诗,往下是feature
@allure.feature()模块名称功能点的描述,往下是story
@allure.story()用户故事用户故事,往下是title
@allure.tag()测试用例标记用于给用例打个标记
@allure.title(用例的标题)用例的标题重命名html报告名称
@allure.testcase()测试用例的链接地址对应功能测试用例系统里面的case
@allure.issue()缺陷对应缺陷管理系统里面的链接
@allure.description()用例描述测试用例的描述
@allure.step()操作步骤测试用例的步骤
@allure.severity()用例等级blocker,critical,normal,minor,trivial
@allure.link()链接定义一个链接,在测试报告展现
@allure.attachment()附件报告添加附件

2.测试用例的级别

@allure.severity 测试用例的级别

Allure中对严重级别的定义:

blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)

critical级别: 临界缺陷(功能点缺失)

normal级别:普通缺陷(数值计算错误)

minor级别: 次要缺陷(界面错误与UI需求不符)

trivial级别:轻微缺陷(必输项无提示, 或者提示不规范)
 

3.脚本例子

  1. import allure
  2. import pytest
  3. # 不加任何标记,默认normal
  4. def test_with_no_severity():
  5. pass
  6. # trivial:不重要,轻微缺陷(必输项无提示,或者提示不规范)
  7. @allure.severity(allure.severity_level.TRIVIAL)
  8. def test_with_trivial_severity():
  9. pass
  10. # minor 级别 不太重要,次要缺陷(界面错误与UI需求不符)
  11. @allure.severity(allure.severity_level.MINOR)
  12. def test_with_minor_severity():
  13. pass
  14. # normal:正常问题,普通缺陷(数值计算错误)
  15. @allure.severity(allure.severity_level.NORMAL)
  16. def test_with_normal_severity():
  17. pass
  18. # critical:严重,临界缺陷(功能点缺失)
  19. @allure.severity(allure.severity_level.CRITICAL)
  20. def test_with_ritical_severity():
  21. pass
  22. # blocker:阻塞,中断缺陷(客户端程序无响应,无法执行下一步操作)
  23. @allure.severity(allure.severity_level.BLOCKER)
  24. def test_with_blocker_severity():
  25. pass
  26. @allure.severity(allure.severity_level.NORMAL)
  27. class TestClassWithNormalSeverity(object):
  28. # 不加任何标记,默认为同class级别
  29. def test_inside_with_normal_severity(self):
  30. pass
  31. # 重新设置了critical级别
  32. @allure.severity(allure.severity_level.CRITICAL)
  33. def test_inside_with_critical_severity(self):
  34. pass
  1. import pytest
  2. from selenium import webdriver
  3. import allure
  4. def add(x,y):
  5. return x+y
  6. def test1():
  7. assert 3==add(1,1)
  8. def test2():
  9. assert 1!=add(1,1)
  10. def func(x):
  11. if x==0:
  12. raise ValueError("value error")
  13. else:
  14. pass
  15. def test_mytest1():
  16. with pytest.raises(ValueError):
  17. func(0)
  18. def test_mytest2():
  19. assert func(1)==None
  20. @pytest.mark.parametrize(
  21. "x,y,expected",
  22. [
  23. (1,1,2),
  24. (2,2,4),
  25. (10,10,20),
  26. ]
  27. )
  28. def test_add(x,y,expected):
  29. assert add(x,y) == expected
  30. def test_search_result():
  31. pytest.skip("Skipping test..later I will implement it")
  32. if __name__ == "__main__":
  33. pytest.main(['-s','./test_func.py','-m','a'])

4. 测试报告

 

也可以选择中文的报告

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/610233
推荐阅读
相关标签
  

闽ICP备14008679号