news 2026/4/18 12:07:12

基于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/18 2:04:12

操作系统管道 = 水管管道?

不,操作系统管道(Pipe) ≠ 水管管道(Physical Pipe)。 二者仅在中文里共享“管道”一词,实则属于 抽象计算模型 vs 物理流体系统 的完全不同的范畴。混淆二者会阻碍对操作系统原理和工程隐喻的准确理解。一…

作者头像 李华
网站建设 2026/4/17 23:07:59

初学者的狂喜:当代码第一次呼吸时

初学者的狂喜:当代码第一次呼吸时第一章:黎明时分第一次见到那行“Hello, World!”在屏幕上亮起时,我整个人仿佛被电流击穿。那是在一个潮湿的夏夜,宿舍风扇嗡嗡作响,而我蜷缩在一台二手笔记本电脑前,手指笨…

作者头像 李华
网站建设 2026/4/18 3:34:44

护网行动小白别慌!蓝队核心职责 + 流程 + 技巧,这波直接抄作业

护网行动实战指南:蓝队核心职责、流程与新手入门技巧 护网行动是国家级、高规格的网络安全攻防演练,核心目标是检验企事业单位网络安全防护体系的实战能力,排查潜在风险,提升应急响应水平。不同于常规攻防演练,护网行…

作者头像 李华
网站建设 2026/4/18 0:45:56

开题报告不再卡壳!宏智树 AI:手把手教你搭建学术研究的 “骨架”

作为深耕论文写作科普的教育博主,后台每天都被 “开题报告怎么写” 的提问刷屏。不少同学对着 “研究背景”“技术路线”“创新点” 抓耳挠腮,要么选题空泛被导师驳回,要么框架混乱逻辑不通,硬生生把开题写成了 “渡劫现场”。其实…

作者头像 李华
网站建设 2026/4/17 5:12:37

论文引用标注的重要性不可忽视,AI工具能大幅提升文献管理效率

论文引用标注排名:AI工具如何帮你高效管理文献 工具名称 核心功能 效率评分 适用场景 AiBiYe 智能引用格式转换 ★★★★☆ 多格式引用需求 AiCheck 引用查重与合规检测 ★★★★ 避免学术不端 AskPaper 文献内容智能提取 ★★★★ 快速理解文献核心…

作者头像 李华
网站建设 2026/4/18 3:47:45

通过AI智能工具,论文引用标注和文献管理可以变得更加精准便捷

论文引用标注排名:AI工具如何帮你高效管理文献 工具名称 核心功能 效率评分 适用场景 AiBiYe 智能引用格式转换 ★★★★☆ 多格式引用需求 AiCheck 引用查重与合规检测 ★★★★ 避免学术不端 AskPaper 文献内容智能提取 ★★★★ 快速理解文献核心…

作者头像 李华