目录
前言
从 0-1 配置 Jenkins 流水线,自动化执行 Pytest 测试用例
功能支持:
-
Jenkins 自动拉取构建
-
执行 Pytest 测试
-
Allure 报告(后续支持)
-
邮件/飞书/企微通知(后续支持)
一、基础准备
1. Jenkins 下载安装:Download and deploy

2. Jenkins 启动:
下载文件夹目录路径输入 cmd 调起命令提示符执行:java -jar jenkins.war

访问默认地址 http://localhost:8080/
3. Jenkins 登录:
按页面引导进行初始化
进入 C:\Users\用户名\.jenkins\secrets 打开 initialAdminPassword 文件,复制密码粘贴到 管理员密码,点击继续

4. Jenkins 插件:
快速安装可以点击 选择插件来安装,下个页面点击 无,最后点击 确认
按需设置创建管理员用户,也可点击使用 admin 账户继续(这里账号密码即为 admin 与前面的那串密码)
5. 实例配置:
本地环境 Jenkins URL 填写 http://localhost:8080/ 默认即可,点击保存完成就可以开始使用了~
二、Jenkins 创建
1. New Item - 输入名称、点击选择 Freestyle project 后点击 OK 按钮

2. Configure - General - Source Code Management
勾选 Git(需要先在 Manage Jenkins - Plugins - Available plugins 下载 Git 插件)

Repositories
填写 Repository URL、Credentials
Branches to build - Branch Specifier:*/main

3. Triggers - Build periodically - Schedule:H 0 * * *(每天 24:00 定时触发)

三、代码文件
1. 项目结构
TestDemo/
├── Jenkinsfile
├── requirements.txt
├── pytest.ini
├── run.py
├── conftest.py
├── tests/
└── test_selenium.py
└── report/ # allure 生成报告目录
2. 完整代码
# tests/test_web.py
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
def test_goto_chrome():
"""测试百度首页"""
# 创建 Chrome 浏览器的配置对象
options = Options()
# 添加无头模式参数
options.add_argument('--headless')
# 禁用 GPU 加速
options.add_argument('--disable-gpu')
# 关闭沙盒模式(在 Linux 和部分 Windows 环境中避免权限问题)
options.add_argument('--no-sandbox')
# 防止 /dev/shm 空间不足问题(主要在 Linux Jenkins 上用到)
options.add_argument('--disable-dev-shm-usage')
# 创建 Chrome 服务对象,自动下载并使用匹配版本的 chromedriver
# ChromeDriverManager().install() 会自动下载/更新合适版本驱动并返回路径
service = Service(ChromeDriverManager().install())
# 启动 Chrome 浏览器实例,使用无头配置和服务驱动路径
driver = webdriver.Chrome(service=service, options=options)
driver.get("https://www.baidu.com")
assert "百度" in driver.title
driver.quit()
# run.py
import pytest
import sys
if __name__ == "__main__":
sys.exit(pytest.main(["-v"]))
# Jenkinsfile
pipeline {
agent any
stages {
stage('Install requirements') {
steps {
bat 'pip install -r requirements.txt'
}
}
stage('Run tests') {
steps {
bat 'python run.py'
}
}
}
post {
success {
echo '测试成功'
}
failure {
echo '测试失败,请检查控制台日志'
}
}
}
# pytest.ini
[pytest]
addopts = -v
# requirements.txt
pytest
selenium
webdriver-manager
四、示例效果
1. Builds 构建历史:

2. 查看 Console Output 控制台输出:


&spm=1001.2101.3001.5002&articleId=148920666&d=1&t=3&u=e6e3d05ff87c4d1395711df593795292)
6026

被折叠的 条评论
为什么被折叠?



