Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用

这篇具有很好参考价值的文章主要介绍了Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

一、简介

pytest+allure+jenkins进行接口测试、生成测试报告、结合jenkins进行集成。

pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高

allure-pytest是python的一个第三方库。用于连接pytest和allure,使它们可以配合在一起使用。

allure-pytest基于pytest的原始执行结果生成适用于allure的json格式结果。该json格式结果可以用于后续适用allure生成html结果。

二、安装  

1、安装pytest,命令行或终端中输入

1 pip install pytest

2、安装allure-pytest,安装成功

1 pip install allure-pytest

allure-pytest安装成功后截图如下。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

3、下载安装JDK

官方下载:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

安装与配置不作阐述请谅解  

4、下载安装Jenkins

官方下载:https://www.jenkins.io/

安装与配置不作阐述请谅解

三、下载Allure并配置

下载allure并配置

1、allure官网下载:https://github.com/allure-framework/allure2/releases

如下图所示:

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  2、allure2下载下来是一个zip的压缩包,我们要解压至自己的文件目录下(可解压放至项目的测试用例下或python安装目录下),自己可找到文件即可。

  3、打开allure2目录,找到bin目录,复制bin文件目录, 然后进行环境变量的配置,设置环境变量的目的就是让系统无论在哪个目录下都可以运行allure2。

  4、环境变量设置:(桌面——我的电脑——右键属性——高级系统配置——环境变量——系统变量——Path——编辑环境变量——把我们上面复制的目录路径新增至环境变量中即可)

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  设置环境变量,如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  5、配置好后,打开cmd终端,输入allure,出现以下帮助文档,就说明配置成功了。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

四、Allure装饰器描述

  Allure装饰器

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试


五、Pytest+Allure的应用

  上述我们讲了一些理论的知识,下面我们就来实战练习一下吧。进一步理解Pytest+allure如何结合应用的。

  1、新建testcase文件夹,用来存放测试用例,新建test_Demo.py文件,作为pytest的具体测试用例文件。在test_Demo.py文件中输入以下代码。

 # test_Demo.py
 # Creator:wuwei
 # Date:2020-06-09
 
 import pytest
 import requests
 import allure
 import sys
 sys.dont_write_bytecode = True
 
 @allure.epic('测试描述'.center(30, '*'))
 @allure.feature('测试模块')
 @allure.suite('测试套件')
 class TestPytestOne():
     @allure.story('用户故事描述:用例一')
     @allure.title('测试标题:用例一')
     @allure.description('测试用例描述:用例一')
     @allure.testcase('测试用例地址:https://www.baidu.com/')
     @allure.tag('测试用例标签:用例一')
     def test_one(self):
         print('执行第一个用例')
         assert 1 == 1
 
     @allure.story('用户故事描述:用例二')
     @allure.title('测试标题:用例二')
     @allure.description('测试用例描述:用例二')
     @allure.testcase('测试用例地址:https://www.sogou.com/')
     @allure.tag('测试用例标签:用例二')
     def test_two(self,action):
         print('执行第二个用例')         assert True == True
 
 # pytest运行
 if __name__ == "__main__":
     pytest.main(['-s', '-v', 'test_Demo.py', '-q', '--alluredir', '../reports'])

  2、我们再来创建一个conftest.py,conftest用来共享数据及不同层次之间共享使用的文件,测试用例的前置和后置中一般都可以用到的。

 # conftest.py
 # Creator:wuwei
 # Date:2020-06-09
 
 import pytest
 import sys
 sys.dont_write_bytecode = True
 
 @pytest.fixture()
 def action():
     print("测试用例开始".center(30, '*'))
     yield
     print("测试用例结束".center(30, '*'))

  3、运行test_Demo.py文件,test_Demo文件中已经pytest+allure的结合,可查看allure的运行结果,可看出在根目录中生成了一个reports文件夹,其中生成了测试报告的json文件,这里面的json文件可通过allure生成html的测试报告。
  运行test_Demo.py,终端显示如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  生成的Json格式的测试报告,如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  4、使用allure将json文件生成html的测试报告,定位至项目文件根目录下,运行以下命令,会在项目根目录下生成一个名为allure_reports的文件夹,用来存放html测试报告。命令下如所示。

1 allure generate reports -o allure_reports/

  成功运行allure,结果如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  项目根目录下的allure_reports文件,存放的是allure生成的测试报告。可看出文件下有一个HTML文件,可通过Python的编辑器Pycharm来打开该HTML文件(测试报告),或可通过allure命令来打开该HTML,展示HTML测试报告。如下所示。

  测试报告文件,HTML测试报告如下。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  allure命令打开HTML测试报告。命令如下所示。

1 allure open allure_reports/

  如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  打开生成的HTML测试报告如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

六、Pytest+Allure+Jenkins的应用

  1、Jenkins插件网站上下载allure插件最新版本:

    http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/

  2、Jenkins的安装我已经在Postman+Newman+Git+Jenkins的篇章中讲过了,没看小伙伴可以看一下那篇文章。确认Jenkins服务是否开启。确认开启后,在浏览器中输入:http://localhost:8080/,进入Jenkins配置页面。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  3、http://localhost:8080/,登录Jenkins的页面,在管理Jenkins——插件管理——高级中找到上传插件。将(1)步骤中下载的.hpi的文件上传至jenkins上。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  上传安装好的allure-jenkins-plugin的插件,安装完成并成功,是蓝色圆点显示,因我已经安装过一次,会提示已经安装,重启Jenkins即可生效。(注意:不是关闭浏览器重新打开,而是重启Jenkins服务)

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  4、全局变量中配置allure路径与JDK的路径,

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  配置JDK安装的路径,如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  配置allure安装的路径,如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  5、新建Item,配置构建后的allure测试报告生成。这里配置Pytest执行完成之后,生成的allure文件所在的目录位置。

  项目中生成allure的json测试报告的位置。需与下面构建后操作中的Results的Path文件一致。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  构建后操作的allure生成测试报告的配置,如下图所示

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  6、配置构建命令。就是上述在cmd中运行项目时的命令。如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

注意:运行后发现有报错。“Build step 'Execute Windows batch command' marked build as failure”,解决方案,在运行项目的命令后添加exit 0。如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  7、修改运行命令后我们再来运行一下。我们可发现运行后,allure里面没任务数据。因为我们还没设置运行的项目路径。设置工作空间,打开工作空间目录,将我们的项目复制到jenkins的工作目录中。

  我们可将代码传至GitHub上,在Jenkins中设置相关Github项目的配置,也可进行Jenkins部署。我在Postman+Newman+Git+Jenkins这篇博客里就应用到了。有兴趣的可参考看看这篇Jenkins如何Git项目。在这里我们使用本地项目来部署。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  测试报告无数据因为工作空间里面没有项目配置。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

  复制项目至Jenkins工作空间的目录中。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

8、添加项目后,我们再运行一下,蓝点则为运行成功,可看到后面已经生成了allure的测试报告了。可直接点击后面的alluree图标跳转至HTML的测试报告。如下图所示。

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

 allure生成的HTML测试报告

Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用,自动化测试,软件测试,测试工程师,pytest,单元测试,jenkins,软件测试,测试工程师,selenium,自动化测试

八、总结

  上述我们聊了下pytest+allure+jenkins如何结合集成一起使用的,本地启动jenkins,运行项目,调用allure生成测试报告。也简单的做了一个小Demo。后期我将结合Requests接口测试和seleniumWeb测试应用至具体项目中。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。文章来源地址https://www.toymoban.com/news/detail-725457.html

到了这里,关于Pytest单元测试框架 —— Pytest+Allure+Jenkins的应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从0到1框架搭建,Python+Pytest+Allure+Git+Jenkins接口自动化框架(超细整理)

    接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,RPC,Webservice,Dubbo,RESTful等类型。 接口测试流程 1、需求评审,熟悉业务和需求 2、开发提供接口文档 3、编写接口测试用例 4、用

    2024年02月14日
    浏览(41)
  • 测开新手:pytest+requests+allure自动化测试接入Jenkins学习

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板) 最近在这整理知识,发现在pytest的知识文档缺少系统性,这里整理一下,方便后续回忆。 在python中,大家比较熟悉的两个框架是unittest和pytest: Unittest是Python标准库中自带的单元测

    2024年02月01日
    浏览(35)
  • Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例

    下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 本文将介绍如何使用Python、Pytest、Allure、Selenium和Jenkins实现测试自动

    2024年02月09日
    浏览(33)
  • Pytest自动化测试框架之Allure报告

    Allure Framework是一种灵活的、轻量级、多语言测试报告工具。 不仅可以以简洁的网络报告形式非常简洁地显示已测试的内容, 而且还允许参与开发过程的每个人从日常执行中提取最大程度的有用信息和测试。 从开发/测试的角度来看: Allure报告可以快速查看到缺陷点,可以将

    2024年02月06日
    浏览(41)
  • 接口测试框架pytest+allure+jenkins之jenkins环境安装配置步骤

    pytest+Allure+jenkins,可以定时跑测试用例,生成测试报告并发送邮箱,关联git,自动更新git最新代码,解放双手。但是对于第一次接触jenkins的测试人员,装jenkins环境和配置job等步骤较繁琐,很容易出错。本文将记录主要的Jenkins安装和配置步骤,以及容易踩坑的地方。 1. 检查是

    2024年02月03日
    浏览(40)
  • 接口自动化测试实战之pytest框架+allure讲解

    本文章主要会讲解Python中pytest框架的讲解,介绍什么是pytest、为何要测试、为何使用以及参考和扩展等等,话不多说,咱们直接进入主题哟。 pytest是一款单元测试框架,在编程过程中,单元主要指的是代码中最小的组成部分,例如函数或类,在面向对象中,最小的单元就是类

    2024年02月05日
    浏览(38)
  • 基于Pytest+Allure+Excel的接口自动化测试框架

    Allure 框架是一个灵活的、轻量级的、支持多语言的测试报告工具,它不仅以 Web 的方式展示了简介的测试结果,而且允许参与开发过程的每个人可以从日常执行的测试中,最大限度地提取有用信息。 Allure 是由 Java 语言开发的,支持 Pytest,JaveScript、PHP、Ruby 等。 从 DEV/QA 的角

    2024年02月09日
    浏览(53)
  • Python+Appium+Pytest+Allure实战APP自动化测试框架

    Hi,大家好。今天我们来聊聊Python+Appium+Pytest+Allure实战APP自动化测试,pytest只是单独的一个单元测试框架,要完成app测试自动化需要把pytest和appium进行整合,同时利用allure完成测试报告的产出。 编写常规的 线性 脚本具体的步骤如下: 1、设计待测试APP的 自动化测试 用例 2、

    2023年04月09日
    浏览(43)
  • 接口自动化测试框架(pytest+allure+aiohttp+ 用例自动生成)

    近期准备优先做接口测试的覆盖,为此需要开发一个测试框架,经过思考,这次依然想做点儿不一样的东西。 接口测试是比较讲究效率的,测试人员会希望很快能得到结果反馈,然而接口的数量一般都很多,而且会越来越多,所以提高执行效率很有必要 接口测试的用例其实

    2024年02月07日
    浏览(45)
  • 一个简单的接口自动化测试框架:Python+Requests+Pytest+Allure

    project:api_test ——api_keyword ————api_key.py:接口驱动类 ——case ————test_cases.py:测试套件和测试用例 ——report_allure( 无需创建 ):allure报告 ——result( 无需创建 ):测试用例运行结果 ——VAR ————VAR.py:常量类 conftest.py:项目级别fixture main.py:主函数

    2024年02月03日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包