news 2026/4/24 17:39:09

基于Python Selenium自动化测试的Jenkins持续集成项目搭建与实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于Python Selenium自动化测试的Jenkins持续集成项目搭建与实践

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

Jenkins简介

Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目。所以Jenkins和Hudson功能相似。

Jenkins支持各种版本的控制工具,如CVS、SVN、Git、Mercurial、Perforce和ClearCase,而且可以执行用Apache Ant或Java Maven构建的项目。同时,它也可以利用一些插件、Shell脚本和Windows批处理命令来构建其他平台的项目。

Jenkins除了构建软件功能外,还可以用于搭建自动化测试环境,比如实现Python Selenium测试的无人值守的情况下按照预定的时间调度运行(如晚上),或者每次代码变更提交至版本控制系统时实现自动运行的效果。

下面,我将演式如何搭建Jenkins并创建一个自由风格的软件项目在无人值守的情况下按预定时间自动化测试(基于Python Selenium自动化测试)。

Jenkins环境准备

为了能够成功使用Jenkins执行测试,我们需要做一些修改。目标是在Jenkins上按计划执行测试,然后收集测试结果并显示在Jenkins Dashboard页面。为了实践,我将重用之前创建的百度冒烟测试。

我使用了unittest的TestSuite Runner批量执行测试,并以JUnit报告的格式输出测试结果。这里需要用到Python下的xmlrunner库。执行以下命令下载与安装xmlrunner。

pip install xmlrunner

百度冒烟测试脚本在通过TestSuite Runner运行homepagetests.py和searchtests.py两个脚本中的测试。最后用xmlrunner.XMLTestRunner来运行冒烟测试并生成JUnit测试报告。此报告以XML格式生成,保存在test-reports子文件夹中。代码如下:

生成的XML格式的report如下:

搭建Jenkins

搭建Jenkins简单。下载系统平台的Jenkins包并进行安装。下面我将安装并启动Jenkins,然后创建一个新的构建作业以对上面的脚本进行在无人值守的情况下按照预定的时间调度运行(百度冒烟测试)。

1)下载并安装Jenkins CI服务器。我下载的是Jenkins Windows安装包,并在Windows7上安装Jenkins。

2)从浏览器进入Jenkins Dashboard页面(默认情况下为http://localhost:8080)。

3)在Jenkins Dashboard页面上,单击新建项目(New Item)链接,创建一个新的Jenkins作业,如下图所示:

4)在项目名称(Item name)文本框中输入Baidu_Smoke_Test,然后选择构建自由风格的软件项目(Freestyle project)单选按钮,如下图所示:

5)单击确定(OK)按钮。以上指定名称命名的新作业就创建成功了。

6)在构建(Bulid)部分,单击增加构建步骤(Add build step),然后从下拉列表中选择执行Windows批处理命令(Execute Windows batch command)选项,如下图所示:

7)在命令(Command)文本框里输入以下命令,如下图所示。这个命令将冒烟测试的Python脚本文件复制到Jenkins工作空间下并执行smoketest.py。

8)在前面已经配置了smoketest.py以生成JUnit格式的测试结果,并将测试结果显示在Jenkins Dashboard页面。要在Jenkins中集成这些报告,先单击增加构建后操作步骤(Add post-build action),然后选择发布JUnit测试结果报告(Publish JUnit test result report)选项,如下图所示:

9)在构建后操作(Post-build Aactions)部分中,在测试报告XML(Test report XMLs)文本框中添加test-report/*.xml,如下图所示。Jenkins每次运行测试的时候,它将从test-reports子文件夹中读取测试结果。

10)由于需要按计划时间自动执行测试,在构建触发器(Build Triggers)部分选择定期构建(Build periodically),并在计划(Schedule)文本框中输入如下图所示数据。那么,每天下午18:24构建过程将自动触发,作为无人值守构建过程的一部分,Jenkins也将自动执行测试,这样在第二天早上当你到达办公室的时候就可以看到测试执行结果了。

11)单击保存按钮保存作业配置,Jenkins将会显示新创建的作业项目页面。

12)现在可以来检测一下所有的配置是否设置好,测试是否能成功执行。单击立即构建(Build Now)链接手动运行该作业,如下图所示:

13)在构建历史(Build History)部分中可以查看构建的运行状态,如下图所示:

14)单击构建历史(Build History)部分中正在运行的项目,将打开如下图所示的页面。

15)除了Jenkins页面上的执行状态和进度条,还可以通过打开控制台输出(Console Output)链接观察后执行信息。如下图是有命令输出信息的“控制台输出”页面。

16)一旦Jenkins完成构建过程,就可以看到一个类似于下面截图所示的构建页面。

17)Jenkins通过读取unittest框架生成的测试文件,在页面上显示测试结果和其他各项指标。单击构建页面上的测试结果(Test Results)链接可以查看Jenkins保存的测试结果。

18)之前配置的测试结果以JUnit格式生成。当单击测试结果(Test Results)时,Jenkins将会显示JUnit测试结果,如下图所示,显示测试结果摘要,其中失败的测试会高亮显示。

19)我们也可以单击Package名字的链接来查看各个测试的详细结果信息,如下图所示:

20)Jenkins还会以下图所示的格式在Dashboard主页上显示所有构建作业的最终状态信息。

综上所述,通过搭建Jenkins运行Python Selenium测试,从而实现每天晚上在无人值守的情况下自动构建程序和执行测试。即实现了简单的持续集成测试。

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

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 10:51:38

深入解析CVE-2025-50341:Axelor SQL注入漏洞的技术细节与原理

项目标题与描述 CVE-2025-50341: Axelor SQL注入漏洞分析报告 本报告详细记录了在Axelor开源ERP/CRM平台v5.2.4版本中发现的SQL注入安全漏洞(CVE-2025-50341)。该漏洞允许攻击者通过应用程序的"_domain"参数实施布尔盲注攻击,从而逐…

作者头像 李华
网站建设 2026/4/18 9:55:00

广西北部湾,将成为未来最繁忙的航运地!

作为西部陆海新通道的关键枢纽,广西北部湾港已经迈入到了千万标箱的大港行列。 由钦州、北海、防城三大港口组成的北部湾港,正通过智能化、自动化转型升级,为这条国际大通道持续注入强劲动力。 2025年截至12月30日,班列开行量达…

作者头像 李华
网站建设 2026/4/20 23:39:46

13.3GB《ArcGIS Pro 地理信息系统应用与实践》配套练习数据

前段时间有朋友问,哪里有《ArcGIS Pro 地理信息系统应用与实践》这本书的配套练习数据? 其实,我们早前也买过这本书,但此书确实没有附光盘,也没有附上配套练习数据的下载地址。 当我们拿到这本书的之后,也…

作者头像 李华
网站建设 2026/4/18 4:52:28

伊朗离我们的距离,竟然比上海飞深圳还近!

提到伊朗,不少人觉得它是遥远中东的神秘国度,却不知它与中国的距离远比想象中更近。 中国新疆塔什库尔干县到伊朗最东边境仅1200多公里,比上海飞深圳的距离还要短。 当下的伊朗正面临内忧外患的动荡局势,但这份动荡从未蔓延至中…

作者头像 李华
网站建设 2026/4/23 13:32:19

Linux服务器安全加固最强实战清单:十大核心配置守护系统与网络安全

Linux网络安全一直是IT行业中备受关注的话题,而红帽作为Linux操作系统的知名发行版,在网络安全领域也扮演着重要的角色。红帽公司一直致力于为用户提供安全可靠的Linux解决方案,以帮助用户建立强大的网络安全防护体系。 首先,红帽…

作者头像 李华
网站建设 2026/4/21 2:33:49

一图讲透网络安全纵深防御体系:核心框架与常态化防护机制解析

随着科学技术的快速发展,计算机已经成为了人们日常生活中必不可少的重要工具,身为网络安全从业人员,我们虽然不能100%的阻止攻击的发生,但是可以做好充足的准备应对攻击,以下是详细的内容: 1、防火墙技术 …

作者头像 李华