• allure结合python生成测试报告教程


    这篇文章主要介绍了allure结合python生成测试报告教程,具有很好的参考价值,希望对大家有所帮助。

    百度搜索实例

    一、代码结构

    data.yml为数据管理文件,test_baidudemo.py为测试用例文件,文件结构如下:

    在这里插入图片描述
    创建data/data.yml文件,代码如下

    - allure
    - pytest
    - unittest
    
    • 1
    • 2
    • 3

    创建test_baidudemo.py,代码如下

    
    
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    import allure
    import pytest
    import yaml
    from selenium import webdriver
    import time
    @allure.testcase("https://www.baidu.com")
    @allure.feature("百度搜索")
    @pytest.mark.parametrize('test_data1',yaml.safe_load(open("data/data.yml")))
    def test_steps_demo(test_data1):
        with allure.step("打开百度网页"):
            driver = webdriver.Chrome()
            driver.get("https://www.baidu.com")
            driver.maximize_window()
        with allure.step(f"输入搜索词:{test_data1}"):
            driver.find_element_by_id("kw").send_keys(test_data1)
            time.sleep(2)
            driver.find_element_by_id("su").click()
            time.sleep(2)
        with allure.step("保存图片"):
            driver.save_screenshot("./result/b.png")
            allure.attach.file("./result/b.png",attachment_type=allure.attachment_type.PNG)
        with allure.step("关闭浏览器"):
            driver.quit()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    二、运行结果

    进入项目目录下,使用以下语句运行

    pytest test_baidudemo.py -s -q --alluredir=./result/    #执行测试用例,并生成测试报告数据在当前文件夹result文件下
    allure serve ./result/     #启动allure,并使用result下的测试结果数据生成测试报告
    
    • 1
    • 2

    生成的报告如下图所示:


    问题解决

    运行时总是报错当前chromedriver只支持chrome78,实际上已经更新了chromedriver83,未找到原因解决,最终在代码里加上chromedriver绝对路径。将driver = webdriver.Chrome()修改为driver = webdriver.Chrome(‘C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe’)。

    with allure.step(f"输入搜索词:{test_data1}"):,在python3.6.8版本上运行该语句总是报语法错误,修改为 with allure.step(“输入搜索词:”+test_data1):,可以正常运行并输出。

    allure简介与使用
    allure简介
    Allure是一款轻量级并且非常灵活的开源测试报告框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。

    allure如何生成测试报告

    运行的时候加上 pytest.main ( ‘–alluredir’, ‘report/result’, ‘TestDemo01.py’]) 会在当前文件夹创建一个report文件夹,在report文件夹下创建result



    生成html测试报告

    因为生成的测试报告是json的,不好看,所有用这个命令生成一个好看的HTML测试报告.


    运行之后,就会生成一个HTML文件夹,点开index.html这个就是我们的测试报告

    在这里插入图片描述

    allure几个常用特性(测试报告中展示)

    @allure.feature (用于描述被测试产品需求)


    @allure.story (用于描述feature的用户场景,即测试需求)


    with allure.step() (用于描述测试步骤,将会输出到报告中)


    allure.attach (用于向测试报告中输入一些附加的信息,通常是一些测试数据,截图等)

    在这里插入图片描述
    pytest断言设置并结合allure生成测试报告


    测试报告

    在这里插入图片描述
    以上为个人经验,希望能给大家一个参考.


    最后

    如果你想学习自动化测试,那么下面这套视频应该会帮到你很多

    如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....

    最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!


    以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

    ​​

    ​​​​

  • 相关阅读:
    【数据结构与算法】初识时间空间复杂度
    typedef struct 与 struct 的区别
    linux查看服务器内核CUP版本相关命令
    使用 Monaco Editor 开发 SQL 编辑器
    【Dubbo3高级特性】「框架与服务」框架与服务的异步调用实践以及开发模式
    软件测试面试题:手工测试与自动测试有哪些区别?
    Python武器库开发-flask篇之路由和视图函数(二十二)
    计算机视觉基础
    IDEA如何运行web程序
    HTML 对象
  • 原文地址:https://blog.csdn.net/qq_56271699/article/details/133989532