Jenkins学习

基于Selenium的测试

Jenkins中新建⾃由⻛格项⽬

创建⾃由⻛格项⽬

源码管理配置:

需要配置Git地址链接(SSH格式),并添加Checkouttosub-directory选项

项⽬类型选择:必须选择"⾃由⻛格"项⽬类型,这是Jenkins中最基础的项⽬配置⽅式

项⽬类型选择:创建⾃动化测试项⽬需选择"FreeStyleproject"类型,适

合需要多种配置的复杂项⽬

节点限制配置:

通过"Restrict where this project can be run"指定运⾏节点(Master-Slave模式:任务可分配到不同Slave上执⾏)

演示环境选择master节点运⾏

实际部署时需根据测试环境选择对应节点

构建环境配置

环境变量加载:

通过source ~/.bash_profile加载⽤户环境变量

确保构建时能获取到PATH等关键环境变量

设置运⾏参数(有/⽆界⾯)

参数化构建:通过Boolean Parameter配置名为"using_headless"的参数,默认值设为false(有界⾯运⾏)代码中通过os.environ"using_headless"获取参数值

参数⽤途:控制测试以有界⾯或⽆界⾯⽅式运⾏,在构建时可灵活选择

运⾏模式

参数描述:添加"采⽤⽆界⾯形式运⾏"的描述⽂本,提⾼参数可读性添加运⾏代码(pytest命令)

命令⾏执⾏:⾃动化测试必须通过命令执⾏,不能依赖IDE界⾯操作

pytest命令:pytest -v test/web_ut.py -o junit_family=xunit2 --junit-xml=pytests.xml

环境清理:建议添加删除旧报告命令,避免历史结果影响新测试报告 rm -f file.txt

添加JUnit测试报告

报告格式兼容:虽然使⽤Python测试,但通过xunit2格式输出与Java的

JUnit兼容的XML报告

格式转换技巧:利⽤--junit-xml参数将pytest结果转换为标准JUnit格式

⽂件路径指定:测试报告输出路径应设置为pytests.xml

添加构建后操作:

报告路径配置:在Post-build Actions中添加Selenium_Python/pytests.xml路径

⾼级选项:

勾选"Retain long standard output/error"保留完整⽇志

设置健康报告放⼤因⼦为1.0

允许空结果不导致构建失败

基于Appium的测试

依赖包:pytest-testconfig(安装命令:pip install pytest-testconfig)

报告⽣成:

⽀持JUnit格式测试报告输出

命令参数示例:pytest -v test/web_ut.py -o junit_family=xunit2 --junit-xml=pytest.xml

报告内容包含通过/失败状态等详细执⾏结果

构建步骤:

source ~/.bash_profile

清除旧报告:rm -f pytest.xml

执⾏测试并⽣成报告:~/venv/bin/pytest -v test/web_ut.py...

配置加载⽅式:

在pytest命令中挂载配置⽂件参数pytest --tc-file=config.json --tc-format=json test_file.py

通过pytest_testconfig模块读取配置

Jenkins集成:使⽤⾃由⻛格任务集成⾃动化测试任务

触发⽅式:

定时触发

代码提交触发

⽗⼦任务联动触发

报告发布:

在Post-build Actions中添加"Publish JUnit test result report"

指定报告路径:iSelenium_Python/pytest.xml

注意:每个项⽬只能添加⼀个JUnit报告配置

相关推荐
CCIE-Yasuo1 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶1 小时前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构
涛思数据(TDengine)1 小时前
从工业本体到 AI 原生:TDengine 出席 2026 QCon 分享工业数据基础设施路径
大数据·数据库·人工智能·tdengine·工业
Jesse_EC2 小时前
换乘次数最少的路径 SQL 查询详解与实战经验——从 WITH RECURSIVE 到 pgRouting
数据库·postgresql
工控丫丫2 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
La Pulga2 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
li星野3 小时前
【学习记录】逻辑分析仪完全入门:从品牌方案到采样率、存储深度的核心概念解析
学习
这个DBA有点耶3 小时前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
旖旎夜光3 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
WEI_YANG_JU4 小时前
初中数学教学中合作学习的研究与实践
学习