二、Allure2 运行方式

# -*- coding: utf-8 -*-
# @Time    : 2023/6/28 18:47
# @Author  : yanfa
# @user   : yanfa 
# @File    : test_allure_for_run_mode.py
# @remark: 第二节 allure2运行方式
""""""
import pytest

"""
一、生成测试报告流程
通过测试框架运行测试用例(pytest/junit5)->生成中间结果,包括json,text格式
                                            ->执行allure serve命令->生成在线版本报告
                                            ->执行allure generate命令->生成静态文件报告

二、使用allure2运行方式-python
使用--alluredir参数生成报告且指定报告存放路径
1、在参数执行期间收集结果
pytest [测试用例/模块/包] --alluredir=./result/
pytest test_allure_for_run_mode.py --alluredir=./result

2、如果想每次清理报告目录,添加命令
pytest test_allure_for_run_mode.py --alluredir=./result --clean-alluredir

3、生成在线测试报告
allure serve ./result

4、生成静态报告
    应用场景:如果希望随时打开报告,可以生成一个静态资源文件报告,将这个报告部署在web服务器上,启动web服务,即可随时查看
    解决方案:使用allure generate生成带有index.html的结果报告
    分为2步:
        第一步,生成报告 allure generate ./result,
            返回Report successfully generated to allure-report,同目录下生成allure-report
        第二步,打开报告
            可以找到allure-report根目录下index.html,右键open in Browser选择浏览器打开
            可以通过命令allure open ./myreport/

5、常用参数 [allure --help查看帮助文档]
1)  allure generate可以指定输出路径,也可以清理上次的报告记录
    -o/-output 输出报告的路径
    -c/-clean 清理报告
    allure generate ./result -o ./myreport -c
2)  allure open打开报告
    -h/-host 主机ip地址,此主机将用于启动报表的服务器
    -p/-port 主机端口,此端口将用于启动报表的服务器,默认值为0
    allure open -h 127.0.0.1 -p 8883 ./myreport/
"""

#例子 先执行pytest test_allure_for_run_mode.py --alluredir=./result ,
# 若提示--alluredir命令没找到,在虚拟环境安装pip install allure-pytest后重试
# 然后执行allure serve ./result生成在线报告
def test_case1():
    assert True

def test_case2():
    assert False

@pytest.mark.skip
def test_case3():
    assert 1+1==2

"""三、使用allure2运行方式-java
使用allure:report参数生成测试报告
1、在参数执行期间收集结果
mvn命令行使用,maven插件安装
mvn clean test allure:report

2、生成在线测试报告
mvn 直接找target/allure-results目录
mvn allure:serve

问题:
1、运行mvn命令对应没有在target下面生成allure-results目录,怎么解决?
解决方案:
    在src/test/resources路径下配置allure配置文件allure.properties,指明allure报告生成路径
    allure.results.directory=target/allure-results
2、运行mvn命令一直卡在下载中
解决方案:
    在项目下创建.allure文件夹
    下载allure解压到.allure文件夹
"""