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

 更新时间:2021年06月03日 08:41:53   作者:Yu_摆摆  
这篇文章主要介绍了allure结合python生成测试报告教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

百度搜索实例

一、代码结构

本案例来自于霍格沃兹测试学院《高薪测试成长图谱》。data.yml为数据管理文件,test_baidudemo.py为测试用例文件,文件结构如下:

创建data/data.yml文件,代码如下

- allure
- pytest
- unittest

创建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()

二、运行结果

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

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

生成的报告如下图所示:

在这里插入图片描述

问题解决

运行时总是报错当前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生成测试报告

在这里插入图片描述

测试报告

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何将Python脚本打包成exe应用程序介绍

    如何将Python脚本打包成exe应用程序介绍

    大家好,本篇文章主要讲的是如何将Python脚本打包成exe应用程序介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • python3正则模块re的使用方法详解

    python3正则模块re的使用方法详解

    这篇文章主要介绍了python3正则模块re的使用方法详解,需要的朋友可以参考下
    2020-02-02
  • Python Logging 日志记录入门学习

    Python Logging 日志记录入门学习

    这篇文章主要介绍了Python Logging 日志记录入门学习,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Python自动化之UnitTest框架实战记录

    Python自动化之UnitTest框架实战记录

    这篇文章主要给大家介绍了关于Python自动化之UnitTest框架实战的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python中pip安装、升级以及升级固定的包

    python中pip安装、升级以及升级固定的包

    我们知道python有大量的第三方库,这也是python的优势之一,pip就是python整的软件包管理系统,类似于Linux平台的yum仓库,下面这篇文章主要给大家介绍了关于python中pip安装、升级以及升级固定包的相关资料,需要的朋友可以参考下
    2022-02-02
  • Python读取图片属性信息的实现方法

    Python读取图片属性信息的实现方法

    这篇文章介绍了利用Python读取图片属性信息的方法,读取的内容包括GPS 信息、图片分辨率、图片像素、设备商、拍摄设备等,有需要的朋友们可以参考借鉴。
    2016-09-09
  • 浅谈配置OpenCV3 + Python3的简易方法(macOS)

    浅谈配置OpenCV3 + Python3的简易方法(macOS)

    下面小编就为大家分享一篇浅谈配置OpenCV3 + Python3的简易方法(macOS),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python 中使用 Selenium 单击网页按钮功能

    Python 中使用 Selenium 单击网页按钮功能

    Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器,本篇文章将介绍如何在 Python 中使用 selenium 单击网页上的按钮,感兴趣的朋友一起看看吧
    2023-11-11
  • Python3爬虫发送请求的知识点实例

    Python3爬虫发送请求的知识点实例

    在本篇文章里小编给大家分享的是一篇关于Python3爬虫发送请求的知识点实例,需要的朋友们可以学习下。
    2020-07-07
  • python实现局域网内实时通信代码

    python实现局域网内实时通信代码

    今天小编就为大家分享一篇python实现局域网内实时通信代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论