10、Allure测试报告

简介
  • 轻量、灵活、支持多语言、多平台的测试报告工具
  • 可以为dev / qa 提供详尽的测试报告、测试步骤、log
  • 也可以为管理层提供high level统计报告
  • Java语言开发的,支持pytest,JavaScript,PHP,ruby等
  • 可以集成到Jenkins

安装: 前提需要有jdk
  • windows / mac 通用安装方法
    • https: //github.com/allure-framework/allure2/releases 下载allure.zip包
    • 解压—>进入bin目录
    • 把bin目录加入PATH环境变量
    • 命令行验证是否安装成功:allure
  • Mac可以使用brew安装
    • brew install allure
  • Windows可以使用scoop安装
    • scoop install allure
  • 安装
  • 官网
  • 文档

pytest-allure插件

pip install allure-pytest


Allure报告的生成
  • pytest -s -v --alluredir=./allure_results --clean-alluredir
    // 测试执行期间收集结果
  • 方式一打开测试文件
    • allure serve ./allure_results // 直接在浏览器打开测试报告
  • 方式二打开测试文件
    • allure generate ./allure-results -c -o allure-report --clean // 生成报告
    • allure open -h 127.0.0.1 -p 8883 ./allure-report // 浏览器打开测试报告

allure特性分析
  • 场景
    • 希望在报告中看到测试功能,子功能,测试步骤,包括测试附加信息
  • 解决
    • @Feature,@story,@step,@attach
  • 步骤
    • imprt allure
    • 功能上加@allure.story(“子功能名称”)
    • 步骤上加上@allure.step(“步骤细节”)
    • @allure.attach(“具体文本信息”),需要附加的信息,文本,图片,视频,网页
    • 如果只是测试登录功能运行的时候可以加限制过滤
      • pytest 文件名 --allure_features ‘购物车功能’ --allure-stories ‘加入购物车’ (注意这里–allure_features中间是下划线)

按feature,story,step运行
mport allure


@allure.feature("登录模块")   # 标记模块
class Test_login:
    @allure.story("登录测试用例")  # 标记用例
    def test_login(self):
        with allure.step("开始登录"):
            print("登录")

# @allure.step()只能以注解的形式放在类或方法上面

运行指定测试用例 *** ***

pytest test_demo.py --allure-feature ‘登录模块’
pytest test_demo.py --allure-stories ‘登录测试用例’
pytest test_demo.py --allure-features ‘登录模块’ --allure-stories ‘登陆成功’


allure特性-issue,testcase
  • 关联测试用例(可以直接给测试用例地址链接)
  • 关联bug
    • 执行时需要加上参数
      • –allure-link-pattern=issue:http://www.mytesttracker.com/issue/{}
TEST_CASE_LINK = 'http://hduweude/dewdue'

# 添加测试的链接地址
@allure.testcase(TEST_CASE_LINK, 'Test case title')  # 链接和链接的名字
def test_with_testcase_link():
    pass

# --allure-link-pattern=issue:http://www.mytesttracker.com/issue/{}
@allure.issue('140', 'Pytest dhsjdh  dhsj ')  # id 和 说明
def test_with_issue():
    pass

$ pytest test_demo.py --allure-link-pattern=issue:http://www.mytesttracker.com/issue/{} --alluredir=./tmp/my_allure_results --clean-alluredir

allure按照重量级别进行一定的范围测试
  • 场景:测试<PO、冒烟测试、验证线上测试>
  • 解决:
    • 通过附加pytest.mark标记
    • 通过allure.feature, allure.story
    • 通过allure.severity来附加标记
      • Trivial 轻微缺陷(必输项无提示,或者提示不规范)
      • Minor 次要缺陷(界面错误或者UI需求不符)
      • Normal 普通缺陷(数值计算错误)
      • Critical 临界缺陷(功能点缺失)
      • Blocker 中断缺陷(客户端程序无响应,无法执行下一步操作)
  • 步骤:
    • 在方法、函数和类上附加
      • @allure.severity(allure.severity_level.TRIVIAL)
    • 运行时
      • pytest -s -v 文件名 --allure-severities normal,critical
      • 或者在pycharm中设置:
        在这里插入图片描述

前端自动化测试-附加信息
  • 场景:经常需要附加图片或者html,在适当的地方,适当的时机
  • 解决:@allure.attach显示不同类型的附件,可以用来补充测试、步骤或测试结果
  • 步骤:
    • 在测试报告中附加纯文本:
      • allure.attach(“这是纯文本”, attachment_type=allure.attachment_type.TEXT)
    • 在测试报告中附加网页:
      • allure.attach( body(内容),name,attachment_type,extension) # 格式
      • allure.attach(“代码块”, ‘这是错误页的结果信息’, allure.attachment_type.HTML)
    • 在测试报告中附加图片:
      • allure.attach.file(source, name, attachment_type, extension) # 格式
      • allure.attach.file("./result/b.png", attchment_type=allure.attachment_type.PNG)

Allure 测试报告的各个装饰器机器作用

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值