Python测试框架--Allure

2024-06-17 16:28
文章标签 python 框架 测试 allure

本文主要是介绍Python测试框架--Allure,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

严格意义上讲 Allure 不算是测试框架,但是它是生成漂亮测试报告的开源工具,搭配 Pytest 测试框架食用更搭。

  也就是说 Allure 是在 Pytest 执行完生成的测试数据的基础上,对测试数据进行处理统计,生成格式统一、美观的测试报告。

一、Allure初识

1. 什么是 Allure

  Allure 是由Qameta Software团队开源的一款旨在于解决让每个人能更容易生成并更简洁阅读的测试报告框架。它支持大多数的测试框架,如:Pytest、TestNG等,简单易用便于集成。

2. Allure环境搭建

  工欲善其事必先利其器,Allure 框架基于其他的测试框架使用,例如:Pytest。


# windows envsource env/Scripts/activate# 安装 pytest 和 pytest-allure-adaptorpip3 install pytest# Allure Pytest Adaptor是Pytest的一个插件(比较旧的一个插件)# allure-pytest 比较新一点,建议使用pip3 install pytest-allure-adaptorpip3 instal allure-pytest# 安装Allure工具,主要是讲pytest的测试数据转换成HTML数据# linux环境安装# 现将allure源添加到linux的源里sudo apt-add-repository ppa:qameta/allure# 更新本地源sudo apt-get update# 安装allure,[allure无法使用的解决方案](https://askubuntu.com/questions/1168821/allure-report-installed-but-not-findable)sudo apt-get install allure# 上面的方法不行的话,用下面的方法curl -o allure-2.6.0.tgz -Ls https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.tgzsudo tar -zxvf allure-2.6.0.tgz -C /opt/sudo ln -s /opt/allure-2.6.0/bin/allure /usr/bin/allureallure --version# Windows 下安装就麻烦点,可以使用 Scoop 工具(Chocolatey工具不知道为什么安装不了),不管了官方推荐使用 Scoop 安装就使用 Scoop 安装得了# 先安装[Scoop](https://juejin.cn/post/6844904017823285262)# 检查sccop是否安装成功scoop --version# 安装 allurescoop install allure# 查看allure是否安装成功allure --version

二、Pytest集成Allure

   Allure要生效需要在测试文件和测试通配文件(conftest.py)中配置 allure。

1. allure的特性

Aullre的几个特性:


@allure.feature # 用于定义被测试的功能,被测产品的需求点@allure.story # 用于定义被测功能的用户场景,即子功能点with allure.step # 用于将一个测试用例,分成几个步骤在报告中输出allure.attach # 用于向测试报告中输入一些附加的信息,通常是一些测试数据信息@pytest.allure.step # 用于将一些通用的函数作为测试步骤输出到报告,调用此函数的地方会向报告中输出步骤

2. pytest集成allure

测试文件示例,生成测试数据,进一步生成 allure 测试报告


#!/usr/bin/env python# -*- encoding: utf-8 -*-"""@File : test_allure_shopping.py@Time : 2019/12/1017:34@Author : Crisimple@Github : https://crisimple.github.io/@Contact : Crisimple@foxmail.com@License : (C)Copyright 2017-2019, Micro-Circle@Desc : None"""import pytestimport allure# allure.feature 定义功能@allure.feature("报告购物车")class TestAllure(object):# 定义用户场景@allure.story("加入购物车")def test_add_goods_cart(self):# 调用步骤函数login("crisimple", "123456")# 将测试用例分成几个步骤,将测试步骤打印到测试报告中,步骤二with allure.step("浏览商品"):# allure.attach--打印一些附加信息allure.attach("商品1", "C")allure.attach("商品2", "C")# 步骤三with allure.step("加入商品"):allure.attach("商品1", 2)allure.attach("商品2", 3)# 步骤四with allure.step("校验商品"):allure.attach("商品1加入成功", "共2个")allure.attach("商品2加入失败", "共0个")@allure.story("继续购物")def test_continue_shopping_cart(self):login("crisimple", "123456")allure.attach("商品3", 4)print("继续购物成功")@allure.story("减少商品失败")def test_edit_shopping_cart(self):login("crisimple", "123")assert 0@pytest.mark.skip(reason="删除购物车不执行")@allure.story("删除购物车")def test_delete_shopping_cart(self):login("crisimple", "123")print()# 将函数作为一个步骤,调用此函数时,报告中输出一个步骤,步骤名称通常时函数名,这样的函数通常称为步骤函数@allure.step("用户登录")def login(user, passwd):if user == "crisimple" and passwd == "123456":print(user, passwd)print("登录成功")else:print(user, passwd)print("登录失败,请重新尝试")

三、Allure生成测试报告

1. pytest生成测试报告


# 执行全部的测试用例pytest ./Allure/test_allure_shoping.py --alluredir ./Allure/result/# 执行指定features或者stories执行一部分测试用例,比如执行‘报告购物车’下的‘加入购物车’子功能的测试用例pytest ./Allure/test_allure_shopping.py --allure_features="报告购物车" --allure_stories="加入购物车" ../Allure/part_

2. Allure生成测试报告


# 生成测试报告allure generate ./Alluer/result/ -o ./Allure/report/ --clean# 打开测试报告allure open -h 127.0.0.1 -p 8083 ./Allure/report/

打开测试报告,牛皮的是可以切换中文版本 

 


Overview(概览)Categories(类别)Behavior(功能)Suites(测试套件)Graphs(图标)Timeline(时间刻度)Packages(测试包)

四、Allure与Jenkins结合

  对于成规模的测试团队会把自动化测试部署集成到Jenkins中,构建成自动化部署。

4.1 Jenkins配置Allure

安装Allure插件

 

4.2 创建job

配置路径必须配置一致

source env/bin/activateecho "**************Welcome to env**************"echo "**************pytest create test data**************"pytest /完整路径/Allure/test_allure_shopping.py --alluredir ${WORKSPACE}/allure-results/echo "**************report has generated done**************"

4.3 执行工程

立即构建工程即可。

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

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

这篇关于Python测试框架--Allure的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1069950

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以