(一)pytest自动化测试框架之生成测试报告(mac系统)

前言

我们可以通过pytest-html插件来生成测试报告,但是pytest-html插件生成的测试报告不够美观,逼格也不够高,通过allure生成的测试报告是比较美观的,花里胡哨的,能够提升一个level。

allure官网: Allure Report Docs --- Documentation Overview

allure命令行工具安装

按照官方文档上的提示来进行allure命令行工具的安装:

1、首先下载allure-commandline最新的zip文件包:Central Repository: io/qameta/allure/allure-commandline

2、然后将zip包解压到目录中

3、进入到bin目录

注意:

window下使用allure.bat 或 Linux下使用allure需要将allure添加到环境变量中。

4、命令行下输入: allure --version ,出现以下提示表示allure安装成功

按照上面的步骤安装好allure-commandline工具。

注意下载zip包的链接在官网中是http协议的,点击会报错,我们将协议改成http改成https访问链接就可以了。

allure添加到环境变量中

1、进入到当前用户目录下,执行:open .bash_profile,打开一个记事本。

2、编辑记事本,在文件最后输入:

python 复制代码
PATH="/usr/local/allure-2.9.0/bin:$PATH"
export PATH

3、command+s 保存

4、然后命令行中输入:source .bash_profile,使配置立即生效;

5、任意目录下,命令行中输入allure,出现以下提示表示环境变量配置成功;

注意:执行allure命令时,需要jdk的支持,因此使用allure的前提是系统中安装了jdk并且配置了环境变量

下载安装allure-pytest插件

命令行下输入命令进行安装:

  1. pip install -U allure-pytest

上面的命令执行后会安装 allure-pytestallure-python-commons 包,这两个包用来生成allure所需要的测试报告数据。

allure实际应用举例
python 复制代码
# file_name: test_allure.py
 
 
import pytest
import allure
 
 
@pytest.fixture(scope="function")
def login():
    print("执行登录逻辑")
    yield
    print("执行退出登录逻辑")
 
 
@allure.feature("加入购物车")
def test_01(login):
    """
    先登录,再进行其他操作
    :param login:
    :return:
    """
    print("测试用例01正在执行")
 
 
@allure.feature("加入购物车")
def test_02():
    """
    不需要登录,直接操作
    :return:
    """
    print("测试用例02正在执行")
 
 
if __name__ == '__main__':
    pytest.main(['-s', 'test_allure.py'])

运行用例,进入到test_allure.py所在目录,执行命令:

复制代码
pytest --alluredir=./report/result    # --alluredir表示指定测试报告数据的生成路径

执行完成上述命令后,会在当前目录下,report目录下生成一个result目录文件;

result下只是一些测试报告的原始数据,还不能作为html报告打开。

在线查看测试报告还需要执行下面的命令:

复制代码
allure serve ./report/result

上面的命令会启动一个allure服务并自动分配端口,然后使用默认浏览器自动打开index.html,查看测试报告:

查看测试报告:

至此,我们就可以使用pytest结合allure生成更加美观的测试报告了。


【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(文末尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
小南家的青蛙8 小时前
LeetCode第1261题 - 在受污染的二叉树中查找元素
算法·leetcode·职场和发展
Stella25219 小时前
实习日志|知识总结
linux·服务器·软件测试·数据库
java修仙传10 小时前
力扣hot100:寻找旋转排序数组中的最小值
算法·leetcode·职场和发展
John_ToDebug10 小时前
迷茫与自控力的温柔共舞:在不确定中找到自己的力量节奏
程序人生
LYFlied12 小时前
【每日算法】LeetCode124. 二叉树中的最大路径和
数据结构·算法·leetcode·面试·职场和发展
yaoh.wang16 小时前
力扣(LeetCode) 94: 二叉树的中序遍历 - 解法思路
python·算法·leetcode·面试·职场和发展·二叉树·跳槽
yaoh.wang17 小时前
力扣(LeetCode) 83: 删除排序链表中的重复元素 - 解法思路
程序人生·算法·leetcode·链表·面试·职场和发展
Swift社区17 小时前
LeetCode 452 - 用最少数量的箭引爆气球
算法·leetcode·职场和发展
给你一页白纸17 小时前
Pytest 测试用例自动生成:接口自动化进阶实践
python·pytest·接口自动化
yaoh.wang17 小时前
力扣(LeetCode) 70: 爬楼梯 - 解法思路
python·算法·leetcode·面试·职场和发展·动态规划·递归