测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

安装并配置环境变量

Windows / Mac / Linux 通用安装方法:
下载 allure.zip 安装包,解压后配置环境变量即可:
配置路径(windos举例):
F:\从0到1开始搭建自动化测试框架\allure-2.17.3\bin

在命令行输入allure --version,能出现版本说明allure命令行已经安装成功了

allure --version

结合 pytest 使用,需要安装 python 插件:

pip install allure-pytest

allure特性及语法使用

@allure.step
allure报告最重要的一点是,它允许对每个测试用例进行非常详细的步骤说明
通过 @allure.step() 装饰器,可以让测试用例在allure报告中显示更详细的测试过程

@allure.step("第三步")
def nested_step():
    #具体测试步骤代码
    nested_step_with_arguments(1, 'abc')

allure.attach(挺有用的)
作用:allure报告还支持显示许多不同类型的附件,可以补充测试结果;自己想输出啥就输出啥,挺好的

语法: allure.attach(body, name, attachment_type, extension)

参数列表
body:要显示的内容(附件)
name:附件名字
attachment_type:附件类型,是 allure.attachment_type 里面的其中一种
extension:附件的扩展名(比较少用)

@allure.title("前置操作:登录")
@allure.step("第二步")
def step_with_nested_steps():
    allure.attach('在fixture后置操作里面添加一个附件txt', 'fixture后置附件',
                  allure.attachment_type.TEXT)
    nested_step()
@allure.title() (用例标题)

from time import sleep
import allure
 
import pytest
@allure.title("测试:title")
@allure.description("""
这是一个@allure.description装饰器
没有特别的用处
""")
@pytest.mark.parametrize("n", list(range(5)))
class TestWeibo:
    @allure.story("子功能/单个用例名称")
    def test_case1_01(self, open_weibo, n):
        sleep(1)
        print("查看微博热搜", n)
 
    def test_case1_02(self, open_weibo, n):
        sleep(1)
        print("查看微博詹姆斯", n)

@allure.description()
作用:可以添加足够详细的测试用例描述
写法同上。

@allure.description("""
这是一个@allure.description装饰器
没有特别的用处
""")

@allure.feature(“功能名称”)

@allure.feature("测试采购合同模块")  # 通常对测试类进行装饰
class TestPurchaseContract:

@allure.story(“子功能/单个用例名称”)

@allure.story("测试同步标识灯功能") # 通常对单个用例进行装饰
def test_synchronize(self):
"""
测试 同步标识灯 功能
:return:
"""
r = self.pending_request.synchronize()
assert r["msg"] == "同步更新申购单红、绿、蓝灯状态成功"
assert r["success"] is True

Allure特性-severity(测试用例的优先级)

class Severity(object):
    BLOCKER = 'blocker'
    CRITICAL = 'critical'
    NORMAL = 'normal'
    MINOR = 'minor'
    TRIVIAL = 'trivial'

@allure.severity(“minor”)
Blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
Critical级别:临界缺陷( 功能点缺失)
Normal级别:普通缺陷(数值计算错误)
Minor级别:次要缺陷(界面错误与UI需求不符)
Trivial级别:轻微缺陷(必输项无提示,或者提示不规范

allure生成报告命令

执行测试命令

pytest -n auto --alluredir=allure

测试报告生成命令

allure serve allure

报告预览

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第1张图片

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第2张图片

备注:
环境参数配置:environment.properties(需要放在allure目录下)

Browser=Chrome
Browser.Version=81.0.4044.92
Stand=Production
ApiUrl=pda
python.Version=3.7.2

测试类别配置文件categories.json(需要放在allure目录下)

[
  {
    "name": "忽略测试",
    "matchedStatuses": ["skipped"]
  },
  {
    "name": "Infrastructure problems",
    "matchedStatuses": ["broken", "failed"],
    "messageRegex": ".*bye-bye.*"
  },
  {
    "name": "Outdated tests",
    "matchedStatuses": ["broken"],
    "traceRegex": ".*FileNotFoundException.*"
  },
  {
    "name": "测试失败",
    "matchedStatuses": ["failed"]
  },
  {
    "name": "测试缺陷",
    "matchedStatuses": ["broken"]
 
  }
  ,
  {
    "name": "测试成功",
    "matchedStatuses": ["passed"]
  }
]

趋势模块不显示问题解决方案:
原因:allure-result文件中没有history文件夹
解决:手动将allure-report中的history复制到allure目录下

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第3张图片

二、接口自动化项目实战

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第4张图片

三、Web自动化项目实战

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第5张图片

四、App自动化项目实战

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第6张图片

五、一线大厂简历

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第7张图片

六、测试开发DevOps体系

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第8张图片

七、常用自动化测试工具

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第9张图片

八、JMeter性能测试

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透_第10张图片

九、总结(尾部小惊喜)

只有努力不懈地追求,才能让梦想翱翔于蓝天,让奋斗的火焰点亮心灵。相信自己的坚持,抓住每个机会,在汗水中收获辉煌,成就一段不平凡的人生。

只有不断超越自己,才能找到无限的可能性;只有努力拼搏,才能创造属于自己的辉煌未来。坚持奋斗,追逐梦想,你定会收获一切你所向往的!

只有奋斗才能点亮梦想之光,只有坚持才能跨越困难之山,只有勇敢才能超越自我。相信自己的力量,不停追求进步,终将成为那个无所不能的人。

你可能感兴趣的:(自动化测试,软件测试,测试报告,软件测试,自动化测试,python自动化测试,自动化测试框架,allure,测试开发法,接口自动化测试)