allure使用基础---pycharm+allure+pytest导出报告

本片博文主要想说明:
1.如何在pycharm里面,直接导出allure报告
2.使用命令行(linux命令)如何导出allure报告
3.我在这个过程遇到的问题

1.代码demo

import allure
import pytest
import os


@allure.feature('【需求点】:数据类型不符合是否判断')
@allure.story('【MSTD】')
@allure.severity('blocker')
def test_case_01():
    """
    用例描述:这个是一个很长很长的用例描述01
    """
    assert 0


@allure.feature('【需求点】:数据类型不符合是否判断')
@allure.story('【AIVWAP】')
@allure.severity('critical')
def test_case_02():
    """
    用例描述:这个是一个很长很长的用例描述02
    """
    with allure.step("第一步:登录"):  # 将一个测试用例分成几个步骤,将步骤打印到测试报告中,步骤2
        allure.attach('alien', 'name')  # attach可以打印一些附加信息
        allure.attach('18', 'age')
        allure.story("")
    with allure.step("第二步:发送订单"):  # 将一个测试用例分成几个步骤,将步骤打印到测试报告中,步骤3
        pass
    with allure.step("第三步:判断结果"):
        allure.attach('期望结果', '添加购物车成功')
        assert 'success' == 'failed'


@allure.feature('【需求点】:登录能否成功')
@allure.story('【常规登录】')
@allure.severity('normal')
def test_case_03():
    """
    用例描述:这个是一个很长很长的用例描述03
    """
    assert 0


@allure.feature('【需求点】:登录能否成功')
@allure.story('【异常登录】')
@allure.severity('minor')
def test_case_04():
    """
    用例描述:这个是一个很长很长的用例描述04
    """
    assert 0 == 0
    allure.dynamic.description("这个用例描述,将要替换如上的用例描述")


if __name__ == '__main__':
    pytest.main(['-s', '-q','test_sort.py', '--alluredir', 'D:/MyProjects/FundJudgeTestReport/Raw_Files/'])
    os.system("C:/Users/admin/Envs/AutoTestEnv/Lib/site-packages/allure-2.13.0/bin/allure.bat "
              "generate "
              "D:/MyProjects/FundJudgeTestReport/Raw_Files/ "
              "-o "
              "D:/MyProjects/FundJudgeTestReport/Report "
              "--clean")

如上代码中,os.system()部分,也可以使用如下代码替换

    os.system("allure "
              "generate "
              "Raw_Files "
              "-o "
              "Report "
              "--clean")

如上代码的具体含义,如果有不太清楚的,可参考:
https://www.cnblogs.com/xiaogongjin/p/11705134.html

2.pycharm目录结构

  • 展开之前
    在这里插入图片描述
  • 展开之后
    在这里插入图片描述

3.遇到的几个问题(还有个问题没解决)

  • 不要使用pytest框架运行如上代码,否者只会执行所有测试用例,但没有保存任何报告的数据到本地
    在这里插入图片描述

  • 直接Run-----> Run------>选在文件名运行即可
    在这里插入图片描述
    在这里插入图片描述

  • pytest.main()执行命令里面,里面是一个列表,包含不同命令字符串,后面地址是你要保存报告原始数据的地方

  • os.system()里面,这个模拟的是linux命令行的写法,每个语句之间需要换行,且每个语句后面需要有至少一个空格,空格,空格(没有空格的效果是:alluregenerateRaw_Files-oReport–clean,鬼知道你写的是什么东西!)

  • 如果使用os.system()替换方案的时候,你安装的allure需要提前设置好环境变量,确保在linux的任意位置,输入allure命令,都能使用

  • "–clean"命令,测试了很多次,都一直没有清除掉原始的报告数据。有哪位仁兄知道原因,还请告知一二,谢谢!

4.使用linux命令导出报告

pytest ./ --alluredir Raw_Files

allure generate Raw_Files -o Report --clean

5.最终看到的效果图:

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章