每天努力一点点,坚持下去 ------ 博客首页

Allure测试报告

1、Allure安装:

  1. 安装JDK1.8+才可以运行Allure---------参照【https://www.cnblogs.com/luckyplj/p/11974643.html】

  2. allure 的下载地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/

  3. 解压Allure压缩包(D:\压缩包,解压到D:)

  4. 配置Allure到环境变量,到path里面,D:\allure-2.17.2\bin

选择最新日期的版本下载即可,如下图所示:

验证是否安装成功:Win+R,依次输入:cmd--->allure --version,显示版本号说明已安装成功。

 

注:1、下载包放到pytest文件夹中,然后将allure/bin的路径放到环境变量的path中

  2、allure命令行工具,这个工具主要用来把测试用例的运行结果转换成html格式

       3、配置环境变量后,一定要重启电脑。因为环境变量没生效,我搞了半天在pycharm不能生成报告,在cmd中可以生成报告

 2、Allure介绍

  • allure测试报告是基于Pytest运行后,产生的Json文件,来实现的结果展示,以一个工程的形态展示文本。

安装插件:pip install allure-pytest---->验证:pip show allure-pytest,可看到版本相关信息即是安装好了

 3、代码操作实现:

import os
import pytest

def test_case01():
    assert 1 == 1

def test_case02():
    assert 1 == 1

def test_case03():
    assert 1 == 3

def test_case04():
    assert 1 == 4

def test_case05():
    assert 1 == 5
if __name__ == '__main__': pytest.main(['test_allure.py', '--alluredir', './result']) # ['--alluredir','./result']意思是在指定路径下产生json文件 os.system('allure generate ./result/ -o ./report_allure --clean') # ./result/ -o ./report_allure生成的测试报告全部放在report_allure目录下,--clean覆盖上一次的报告
#可以在cmd中进入到此py目录下执行此命令行

 报告:

 

4、注意别踩坑

allure定制化想必大部分情况都会去选择pip install pytest-allure-adaptor或是pip install allure 这个插件,安装完成后,运行定制化代码出现以下报错:

 

(1)这种报错pip install pytest-allure-adaptor,cmd中操作

1、pip uninstall pytest-allure-adaptor

2、pip install allure-pytest

 (2)安装pip install allure 后报错

  • 在Pycharm终端中输入:pip list,有关allure的模块全部卸载
pip unintall allure
pip unintall allure-pytest          2.9.45
pip unintall allure-python-commons  2.9.45

5、装饰的使用

Allure用例描述
使用方法 参数值 参数说明
@allure.epic() epic描述 定义项目、当有多个项目是使用。往下是feature
@allure.feature() 模块名称 用例按照模块区分,有多个模块时给每个起名字  
@allure.story() 用例名称 一个用例的描述
@allure.title(用例的标题) 用例标题 一个用例标题
@allure.testcase() 测试用例的连接地址 自动化用例对应的功能用例存放系统的地址
@allure.issue() 缺陷地址 对应缺陷管理系统里边的缺陷地址
@allure.description() 用例描述 对测试用例的详细描述
@allure.step() 操作步骤 测试用例的操作步骤
@allure.severity() 用例等级 blocker  、critical  、normal  、minor  、trivial
@allure.link() 定义连接 用于定义一个需要在测试报告中展示的连接
@allure.attachment() 附件 添加测试报告附件
import os
import pytest
import allure


@allure.feature('feature测试需求001:用户注册')  # 大需求
@allure.story('story测试场景001:微信用户注册')  # 子需求
@allure.title('title测试用例001:通过微信正常注册男用户')  # 自定义用例的名称
def test_case01():
    assert 1 == 1


@allure.feature('feature测试需求001:用户注册')
@allure.story('story测试场景002:微信用户注册')
@allure.title('title测试用例002:通过微信正常注册女用户')
def test_case02():
    assert 1 == 1


@allure.feature('feature测试需求001:用户注册')
@allure.story('story测试场景003:微信用户注册校验')
@allure.title('title测试用例003:用户名为空提交注册')
def test_case03():
    assert 1 == 3


@allure.feature('feature测试需求001:用户注册')
@allure.story('story测试场景003:微信用户注册校验')
@allure.title('title测试用例004:密码为空提交注册')
def test_case04():
    assert 1 == 4


@allure.feature('feature测试需求001:用户注册')
@allure.story('story测试场景003:微信用户注册校验')
@allure.title('title测试用例005:用户名存在特殊字符')
def test_case05():
    assert 1 == 5

@allure.feature('feature测试需求001:用户注册')
@allure.story('story测试场景003:微信用户注册校验')
@allure.title('title测试用例005:用户名超长提交用户信息')
def test_case06():
    assert 1 == 6


if __name__ == '__main__':
    pytest.main(['test_allure.py', '--alluredir', './result'])
    os.system('allure generate ./result/ -o ./report_allure --clean')

报告: 

@allure.feature

 

@allure.story('story测试场景003:微信用户注册校验')

@allure.title('title测试用例005:用户名超长提交用户信息')

 allure命令行详解(1):https://www.cnblogs.com/guanqibuyu/p/16601348.html

allure命令行详解(2)https://blog.csdn.net/qq_45562973/article/details/124909242


 

posted @ 2022-01-06 21:59  他还在坚持嘛  阅读(819)  评论(0编辑  收藏  举报