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报告配置

相关推荐
SelectDB2 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
jiayou641 天前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE2 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩3 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3504 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3504 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3504 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB5 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc