pytest+Allure+jenkins

目录

1、Allure简介

2、Pytest框架集成Allure

2.1 环境配置

2.2 生成html报告

2.3 定制报告

2.3.1 Features、Story定制详解

2.3.2 用例标题和用例描述定制详解

2.3.3  Severity定制详解

2.3.4 Step定制详解

2.3.5 Issue和TestCase定制详解

2.3.6 Environment定制详解

2.3.7  attach定制详解

3、持续集成 Jenkins 构建 Allure Report

3.1 安装插件 allure-jenkins-plugin

3.2  构建配置

3.3  查看报告

 4、问题总结

1  Jenkins 集成时打包本地python 环境

2  Jenkins中执行python命令,出现python不是内部命令的问题

3  allure-result 不存在,allure报告数据为空


1、Allure简介

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

2、Pytest框架集成Allure

Pytest是Python的单元测试框架,非常方便和易用。强烈推荐对于用Python进行测试工作的小伙伴使用这个测试框架,相比与Python自带的UnitTest好用太多太多。今天我们主要是介绍如何将测试报告生成工具Allure集成到Pytest中。目前现在已经有allure2了,我们要使用的就是这个allure2。

2.1 环境配置

a、因为allure2需要在java的环境下,并且要求必须是jdk1.8级以上,所以要首先保证这一点。

b、安装allure-pytest,他用来在pytest执行测试结束后生成allure所需要的配置信息。安装使用pip命令即可:

安装Python依赖库:
pip3 install allure-pytest

注意:我看到许多教程是让安装 pytest-allure-adaptor 的,我刚开始也是安装的它,但是使用的时候出了错。查了解决方法就是卸掉pytest-allure-adaptor,安装allure-pytest。后来了解到官方已经放弃维护pytest-allure-adaptor~

c、下载allure2:https://github.com/allure-framework/allure2/releases,我们下载的是allure-2.8.0版本;下载后解压,放在某个位置(建议放在C:\python35\Lib\site-packages下);配置环境变量:环境变量path中加上解压好的文件夹下的bin目录下的allure.bat文件的路径(这里是:C:\python35\Lib\site-packages\allure-2.8.0\bin)

2.2 生成html报告

if __name__=="__main__":
    pytest.main(['-s','-q','--alluredir','report/result','test_Pytest.py'])
    os.system("C:/python35/Lib/site-packages/allure-2.8.0/bin/allure.bat "
              "generate "
              "F:/pycharm_workspace/FirstApplication/testPytest/report/result "
              "-o "
              "F:/pycharm_workspace/FirstApplication/testPytest/report/html")

2.2.1 pytest命令基础上加--alluredir,生成测试数据

pytest命令基础上加--alluredir,生成测试数据。(测试脚本中添加了Allure特性之后,在执行测试的时候需要先生成Allure报告所需要的测试结果数据。在py.test执行测试的时候,指定–alluredir选项及测试数据保存的目录即可)

pytest -s -q --alluredir [xml_report_path]
//[xml_report_path]根据自己需要定义文件夹,作者定义为:/report/result

例子:

#test_Pytest.py文件
#coding=utf-8

import pytest
import os

class Test_Pytest():

        def test_one(self):
                print("test_one方法执行" )
                assert 1==1

        def test_two(self):
                print("test_two方法执行" )
                assert "s" in "love"

        def test_three(self):
                print("test_three方法执行" )
                assert 3-2==1

if __name__=="__main__":
    pytest.main(['-s','-q','--alluredir','report/result','test_Pytest.py'])

运行结果: 

æ§è¡ç»æå¾1

2.2.2 命令行方式

第一步:用命令行或os模块运行allure命令,来生成html格式的报告(通过下面的命令将./result/目录下的测试数据生成测试报告
命令如下:(因为我们已经将allure.bat放在环境变量中,所以在哪里打开cmd窗口都可以找到allure/allure.bat)

allure generate 配置信息的路径 -o 生成报告的路径

allure generate ./result/ -o ./report/html --clean

这样在./report/目录下就生成了Allure的测试报告了。–clean目的是先清空测试报告目录,再生成新的测试报告

第二步:打开/report/html,下面的index.html

pytest是一个用于Python编写的测试框架,它结合了unittest和nose等测试工具的优点,具有简单易用、灵活且可扩展的特点。pytest允许我们使用简洁的语法编写测试用例,并提供了丰富的断言库和丰富的插件支持,方便我们编写高效、可维护的自动化测试脚本。 而Allure是一种生成漂亮报告的测试结果框架,它支持多种编程语言,并提供了美观直观的图表、图标和饼状图,可以展示测试结果的统计数据,以及失败和通过测试的详细信息。通过Allure的报告,我们可以更加直观地查看测试结果,方便问题的定位和分析。 Jenkins是一个流行的持续集成和持续交付工具,它可以帮助我们自动化构建、测试和部署软件项目。Jenkins提供了丰富的插件生态系统,可以与各种测试框架和工具集成,如pytestAllure。通过与Jenkins的集成,我们可以实现自动化的测试和报告生成,减少了人工操作和提高了测试效率。 因此,结合pytestAllureJenkins,我们可以实现一个完整的自动化测试和报告系统。我们可以通过编写pytest脚本编写测试用例,并使用pytest插件生成Allure报告。然后,我们可以将这些脚本配置到Jenkins中,形成一个定期执行的自动化测试任务。Jenkins会自动运行测试脚本,并生成带有Allure报告的测试结果。我们可以通过Jenkins的UI界面,方便地查看测试结果,帮助我们及时发现和解决问题。 总结起来,pytestAllureJenkins的结合为我们的自动化测试提供了全方位的支持,能够让我们更加高效地进行软件测试,并通过直观的报告帮助我们更好地理解测试结果。这样,我们可以更加准确地判断软件质量,提高软件开发的效率和质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值