首页 > 技术文章 > allure-pytest生成测试报告

tahitimoon 2021-09-12 17:58 原文

前言

一直使用Python+Rquests+Unittest编写自动化测试框架,并用HTMLTestRunner生成测试报告。HTMLTestRunner是一个比较久远的报告模板,原作者已经停止维护。刚好最近在重构接口自动化框架,将Unittest替换成Pytest,于是发现了Allure

Allure是一款轻量级的开源自动化测试报告生成框架。它支持大部分测试框架,如JunitPytestTestNG等。这次将PytestAllure结合,生成优美、格式统一、功能强大的测试报告。

Allure Report

安装

Windows 10环境下

  • 前置条件:

    安装JDK1.8+,配置java环境,Allure依赖它。

    image-20210912175408409

    image-20210912175326690

  • 安装scoop

    官方推荐使用scoop安装allure,scoop是可用于windows的一款包管理工具。

    进入Windows PowerShell,输入如下命令安装scoop:

    Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
    

    输入scoop help查看,显示如下即安装成功。

    image-20210912171541542

  • 安装allure

    scoop install allure
    

    安装完成后输入allure help,显示如下即安装成功。

    image-20210912172049813

  • 安装allure-pytest插件,用来生成allure测试报告所需的源数据。

    pip install allure-pytest
    

生成报告

pytest --alluredir=./allure-results./allure-results目录生成测试结果的源数据,jsontxt格式。

allure generate ./allure-results -o ./allure-report./allure-report生成html报告的目录。

if __name__ =="__main__":
    # 执行pytest单元测试,生成Allure报告需要的数据存在/allure-results目录,目录可以随意命名
    pytest.main(["-q", CASE_DIR, '--alluredir', './allure-results'])
    # 执行命令allure generate ./allure-results -o ./allure-report --clean,生成测试报告
    # ./allure-results和上面保持一致,./allure-report可以随意命名
    os.system('allure generate ./allure-results -o ./allure-report')
    # 自动打开测试报告
    os.system('allure open allure-report') 

image-20210912173320674

打开allure-report,选择index.htmlvscode中右键Open with Live Server

image-20210912173422725

image-20210912173603286

推荐阅读