当前位置: 首页 > news >正文

爆肝整理,Pytest+Allure+Jenkins自动化测试集成实战(图文详细步骤)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、简介

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

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

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

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

2、安装

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

pip install pytest

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

pip install allure-pytest

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

请添加图片描述

3)下载安装JDK

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

安装与配置,之前有写过,这里就不再过多叙述

4)下载安装Jenkins

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

安装与配置,之前有写过,这里就不再过多叙述

3、下载Allure并配置

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

如下图所示

在这里插入图片描述

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

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

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

在这里插入图片描述

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

在这里插入图片描述
 
5)配置好后,打开cmd终端,输入allure,出现以下帮助文档,就说明配置成功了。

在这里插入图片描述

4、Allure装饰器

在这里插入图片描述

5、Pytest+Allure应用

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

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用来共享数据及不同层次之间共享使用的文件,测试用例的前置和后置中一般都可以用到的。

import pytest
import sys
sys.dont_write_bytecode = True@pytest.fixture()
def action():print("测试用例开始".center(30, '*'))yieldprint("测试用例结束".center(30, '*'))

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

运行test_Demo.py,终端显示如下图所示。

在这里插入图片描述

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

请添加图片描述

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

allure generate reports -o allure_reports/

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

请添加图片描述

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

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

请添加图片描述

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

allure open allure_reports/

如下图所示。

请添加图片描述

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

在这里插入图片描述

6、Pytest+Allure+Jenkins应用

1)Jenkins插件网站上下载allure插件最新版本:
http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/

2、确认Jenkins服务是否开启。确认开启后,在浏览器中输入:http://localhost:8080/,进入Jenkins配置页面。

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

可将代码传至GitHub上,在Jenkins中设置相关Github项目的配置,也可进行Jenkins部署。

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

allure生成的HTML测试报告

在这里插入图片描述

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

奋斗的路上,可能会迷茫、彷徨,但不要放弃信念。相信自己的力量,坚持不懈地追逐梦想,你将抵达成功的彼岸,创造出与众不同的精彩!

无论遇到多少挫折和困难,都要坚信自己的能力和价值。勇往直前,敢于追求,你将发现奋斗的过程比成功本身更加宝贵而充实!

在追逐梦想的路上,不要怕失败,不要畏惧困难。只有坚持奋斗,才能走向辉煌。相信自己,勇往直前,你定能点亮人生的星空!

http://www.lryc.cn/news/206948.html

相关文章:

  • 微信批量添加好友,让你的人脉迅速增长
  • 3D模型怎么贴法线贴图?
  • QT中文乱码解决方案与乱码的原因
  • sam9x60 boot
  • 3D模型格式转换工具HOOPS Exchange:支持国际标准STEP格式!
  • java--死循环与循环嵌套
  • 基于机器视觉的图像拼接算法 计算机竞赛
  • 基于arduino uno + L298 的直流电机驱动proteus仿真设计
  • cola架构:有限状态机(FSM)源码分析
  • 通信仿真软件SystemView安装教程(超详细)
  • Go学习第八章——面向“对象”编程(入门——结构体与方法)
  • 「滚雪球学Java」:方法函数(章节汇总)
  • 数据分析必备原理思路(二)
  • 分布式ID系统设计(1)
  • 机器学习(python)笔记整理
  • 微客云霸王餐系统 1.0 : 全面孵化+高额返佣
  • 极智开发 | Hello world for Manim
  • 【云上探索实验室-码上学堂】免费学习领好礼!
  • Flutter最全面试题大全
  • Linux---(四)权限
  • 财务RPA机器人真的能提高效率吗?
  • 国产信号发生器 1442/1442A射频信号发生器
  • Kafka与Spark案例实践
  • 山西电力市场日前价格预测【2023-10-27】
  • centos7安装redis(包含各种报错)
  • 使用GoQuery实现头条新闻采集
  • “一带一路”十周年:用英语讲好中华传统故事
  • 机器视觉兄弟们还有几个月就拿到年终奖了,但我想跑路了
  • base_lcoal_planner的LocalPlannerUtil类中getLocalPlan函数详解
  • elasticSearch put全局更新和单个字段更新语法