Bootstrap

Allure报告归纳与总结

 一、环境准备

提前准备环境:Java1.8
Allure2 解析过程:
1.安装 allure2(信赖Java1.8)
allure官方下载地址:
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
2.安装 allure-pytest 命令:pip install allure-pytest
3.生成allure测试结果:pytest --alluredir=./report
4.展示报告:allure serve./report
5.生成最终版本的报告:alluregenerate./report

二、allure 装饰器描述

使用方法

参数值

参数说明

@allure.epic()

epic描述

敏捷里面的概念,定义史诗,往下是feature

@allure.feature()

功能模块名称

功能点的描述,往下是story

@allure.story()

子功能模块

用户故事,往下是title

@allure.title(用例的标题)

用例的标题

重命名html报告名称

@allure.step()

操作步骤

测试用例的步骤

@allure.testcase()

测试用例的链接地址

对应功能测试用例系统里面的case

@allure.issue()

缺陷

对应缺陷管理系统里面的链接

@allure.description()

用例描述

测试用例的描述

@allure.severity()

用例等级

blocker,critical,normal,minor,trivial

@allure.link()

链接

定义一个链接,在测试报告展现

@allure.attachment()

附件

报告添加附件

三、allure 使用

allure运行不同的测试用例:

--allure-severities=SEVERITIES_SET

--allure-epics=EPICS_SET

--allure-features=FEATURES_SET

--allure-stories=STORIES_SET

--allure-ids=IDS_SET Comma-separated list of IDs.

--allure-link-pattern=LINK_TYPE:LINK_PATTERN

--alluredir=DIR Generate Allure report in the specified directory (may

--clean-alluredir Clean alluredir folder if it exists

--allure-no-capture Do not attach pytest captured logging/stdout/stderr to

同时可以忘记了可以根据下图查找

举例:

@allure.epic("epic:测试用例demo")
class TestTwo():
    @allure.title("title:第一个用例")
    @allure.feature("第一个用例")
    def test_one( self ):

        data = {"age": 34, "height": 100, "name": "韩梅梅"}
        print(data["age"])
        with allure.step("第一步data转换python"):
            pay = json.loads(json.dumps(data))
        with allure.step("第二步转成yaml格式写入yaml文件中"):
            yaml_data = yaml.dump(pay, allow_unicode=True)
            with open("../data/major.yaml", 'w', encoding='utf8') as f:
                f.write(yaml_data)
        with allure.step("第三步读取yaml文件"):
            with open("../data/major.yaml", 'r', encoding='utf8') as f:
                print(yaml.safe_load(f))

    @allure.title("title:第二个用例")
    @allure.feature("第二个用例")
    def test_two( self ):

        data1 = {"age": 22,"height": 100,"file_name": "第二个用例"}
        print(data1["file_name"])

    @allure.description("description:测试用例描述11")
    @allure.story("第三个用例")
    def test_three( self ):
        c = 5 /0
        return c


    @allure.story("第四个用例")
    def test_four( self ):
        data = {"age": 37, "height": 102, "file_name": "第四个用例"}
        print(data["file_name"])


    @allure.story("第五个用例")
    def test_five( self ):
        data = {"age": 38, "height": 103, "file_name": "第五个用例"}
        print(data["file_name"])

    @allure.story("第六个用例")
    def test_six( self ):
        c = 5-8
        assert c == 2

输出报告如下:

四、查看Allure测试报告

方式一:测试完成后查看实际报告, 在线看报告,会直接打开默认浏览器展示当前报告

allure serve ./report/ (注意这里的serve书写)

控制台输入:D:\newcode\pythonProject\testcase> pytest -vs .\test_two.py  --alluredir=..\report\

查询报告:allure serve ..\report

新增用例:

 pytest -vs .\test_two.py  --alluredir=..\report\  

在执行生成报告:

 allure generate --clean ..\report\

方式二:从结果生成报告,这是一个启动tomcat的服务,

先执行命令:

 pytest -vs .\test_two.py  --alluredir=..\report\  

需要两个步骤:生成报告,打开报告生成报告

再执行命令:

 allure generate --clean ..\report\(注意:覆盖路径加–clean )

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;