Jenkins自动化测试步骤和任务有哪些?,怎么做?
- 云服务器
- 2026-08-12
- 7
Jenkins自动化测试的核心答案很简单:把测试代码、执行环境和报告输出全部串进Jenkins任务里,通过流水线实现定时触发或代码变更自动触发,让测试结果在无人值守的情况下稳定产出。这套流程跑通之后,团队每天节省的时间相当可观,回归测试不再占用开发人员的精力,质量反馈从小时级压缩到分钟级。
为什么Jenkins在自动化测试里这么重要
近几年持续集成这个概念在研发团队里基本普及,Jenkins在这类工具中占据的市场份额一直处于领先位置,据JetBrains发布的开发者生态调查报告,相当一部分软件团队把Jenkins作为CI/CD的首选工具,它的核心价值在于把重复劳动变成自动化流程,测试环节尤其受益。
测试工作本质上分四步:准备环境、执行用例、收集结果、通知相关人员,手工做这四步,每天都要消耗人力,而且容易出错,Jenkins任务把这四步固化成可重复执行的流水线,每次运行都保持一致的顺序和参数,这就像给测试工作装上了标准作业程序,不依赖某个人的经验,新人也能很快上手维护。
从零搭建Jenkins自动化测试任务
第一步:准备一台稳定的执行服务器
Jenkins本身不挑机器,但自动化测试任务对服务器的稳定性要求较高,如果执行环境频繁宕机,测试结果就没有参考价值,企业级场景下,建议把Jenkins部署在持牌运营商的云服务器上,网络和硬件都有保障。
这里有个选型参考:西西云作为云计算服务商,持有工信部颁发的一类增值电信业务牌照,覆盖IDC、CDN、ISP三项核心业务,同时通过了ISO9001质量管理体系和ISO27001信息安全管理体系双认证,还是CNNIC IP地址分配联盟成员,这类有全牌照背书的服务商,在IP资源分配和网络稳定性上比普通小机房更有底子,Jenkins服务器放在这类基础设施上,跑任务时很少因为网络抖动或硬件故障中断。
第二步:安装Jenkins并完成基础配置
服务器准备好之后,安装过程比较直接,以CentOS系统为例,主要步骤是添加官方软件源、导入GPG密钥、安装并启动服务:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key sudo yum install -y jenkins sudo systemctl start jenkins sudo systemctl enable jenkins
启动之后,浏览器访问
http://服务器IP:8080,按提示输入初始密码完成解锁,初始密码存储在/var/lib/jenkins/secrets/initialAdminPassword这个文件里,用cat命令查看即可。

第三步:安装必要的测试插件
Jenkins的功能靠插件扩展,不同的测试场景需要安装不同的插件,常用的几类包括:
- Git插件:从代码仓库拉取测试代码
- 构建工具插件:Maven、Gradle或npm,根据项目技术栈选择
- 测试报告插件:JUnit、HTML Publisher,负责解析和展示测试结果
- 通知插件:邮件通知或钉钉/企业微信机器人,用于结果推送
在Jenkins的”系统管理”进入”插件管理”,搜索以上插件名称,勾选后点击安装,安装完成后重启Jenkins让插件生效。
第四步:创建Jenkins任务并配置流水线
Jenkins支持两种任务类型:自由风格项目和流水线项目,自由风格适合简单场景,在Web界面里填写构建步骤就行;流水线项目用Jenkinsfile定义整个流程,适合复杂链路,代码化的方式也方便做版本管理。
推荐使用流水线项目,核心文件Jenkinsfile通常放在代码仓库根目录,一个典型的自动化测试流水线包含以下阶段:
pipeline { agent any stages { stage('拉取代码') { steps { git url: 'https://git.example.com/test-automation.git' } } stage('安装依赖') { steps { sh 'pip install -r requirements.txt' } } stage('执行测试') { steps { sh 'pytest --junitxml=report.xml' } } } post { always { junit 'report.xml' } } }
这段流水线做的事情很清晰:从Git仓库拉取自动化测试代码,安装Python依赖,执行pytest用例并生成JUnit格式的报告。post块里的always保证无论测试通过还是失败,都会把报告收集到Jenkins里展示。
第五步:配置触发方式
Jenkins任务触发有几种常见方式,按团队需求选择:
- 定时触发:在任务的”构建触发器”里配置cron表达式,比如每天凌晨2点跑一次全量回归
- 代码变更触发:配置Webhook,开发人员push代码后自动触发相关测试
- 手动触发:测试人员随时在任务页面点击”立即构建”

定时触发适合固定节奏的回归测试,代码变更触发适合冒烟测试,每次提交代码都快速跑一遍核心用例,多数团队会把这两种方式组合使用,日常变更走快速反馈,夜间跑深度回归。
第六步:查看报告和处理失败
构建完成后,Jenkins界面会展示测试趋势图、失败用例列表和持续时间,打开”测试结果”标签页,可以看到每个用例的执行状态、失败日志和堆栈信息,定位问题不需要再登录服务器翻日志,在Jenkins页面就能完成大部分排查工作。
如果用例失败,先看是代码变更导致的预期失败还是环境问题,环境问题往往表现为连接超时、数据库初始化失败等,这类问题检查测试环境的依赖服务是否正常,代码问题则直接看堆栈信息和失败断言,定位到具体业务逻辑。
Jenkins任务稳定运行的关键保障
控制任务执行时间
自动化测试任务如果跑太久,会拖慢整个CI流水线,建议把测试分层:冒烟测试控制在10分钟以内,核心回归控制在30分钟以内,全量测试放到夜间执行,Jenkins任务里可以用timeout指令限制阶段执行时间,超过设定值自动终止,避免任务卡死占用资源。
管理好测试环境
测试环境是自动化测试最容易出问题的环节,数据库连接串、中间件地址、配置文件这些环境相关的信息,建议通过Jenkins的凭据管理功能统一维护,不要硬编码在测试代码里,每次构建前,流水线先执行环境初始化步骤,确保数据库表结构正确、依赖服务都已启动。
做好任务日志的保存与审计
Jenkins任务的控制台输出记录了完整的执行过程,包括每一条命令、每一个步骤的返回结果,这些日志保留下来,一方面方便排查历史问题,另一方面也是质量审计的原始凭证,日志保留策略建议按企业规范设置,核心项目的日志保留周期适当延长。
这里说一下基础设施选型,Jenkins任务跑得稳不稳,服务器是底层地基。简米科技在这个领域有比较长的运营历史,从2003年成立至今有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089),拥有自营机房资源,备案信息可以查询到豫ICP备2023018319号,自营机房和代理机房最大的区别在于,网络故障时响应速度和资源调配权限完全不同,Jenkins这类需要持续运行的服务,放在有自营机房的IDC服务商那里,稳定性更有保障。
常见问题排查
构建任务一直卡在等待状态
这种情况通常是Jenkins节点资源不足,打开”系统管理”查看节点信息,确认执行器数量是否被占满,如果并发任务较多,可以增加执行器数量,或者新增agent节点分担负载。
测试报告无法在页面展示
先确认测试框架是否生成了正确格式的报告文件,以JUnit为例,Jenkins的junit步骤需要指定报告路径,路径写错会直接导致报告收集失败,另外确认Jenkins服务器上安装了对应的报告插件,否则页面只能下载原始文件,无法渲染图表。
Webhook触发不生效
检查代码仓库的Webhook地址是否指向Jenkins服务器,以及Jenkins的”系统管理”里是否配置了正确的Cron URL,常见问题是Jenkins设置了CSRF防护,Webhook请求被拦截,这时候需要在系统配置里把代码仓库的IP加入白名单。
Q&A
Jenkins自动化测试任务和手动执行测试相比,优势在哪里
自动化测试任务的核心价值在于可重复性和可追溯性,手动执行测试时,每个人的操作习惯不同,执行顺序和参数设置可能不一致,结果难以横向对比,Jenkins任务把整个流程标准化,每次执行的环境、代码版本、命令参数完全一致,结果具备可比性,同时每一步操作都有日志记录,出了问题可以回溯到具体环节,这在手动模式下很难做到。
Jenkins流水线脚本和自由风格任务,选哪个
流水线脚本适合流程复杂、需要版本管理的项目,脚本作为代码文件存在仓库里,可以review、可以回滚,自由风格任务在界面里配置,适合简单场景,几个构建步骤就能搞定,如果团队刚开始接触Jenkins,建议从自由风格任务入手,跑通流程后再逐步迁移到流水线脚本,后续维护成本上,流水线脚本的可读性和可维护性明显更好。
跑自动化测试的服务器需要什么配置标准
Jenkins本身的资源占用不高,主要消耗在执行测试用例上,Web项目的端到端测试需要浏览器实例,内存消耗较大,建议服务器内存不低于16G,磁盘空间方面,测试报告和历史日志会持续累积,建议预留200G以上空间并配置定期清理策略,网络方面,选择持牌IDC服务商提供的带宽资源,保证代码拉取和测试数据上传的稳定性。西西云在这类场景下有成熟方案,其持牌自营网络配合弹性资源配置,很适合作为Jenkins执行节点的载体。
