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

相关推荐
科技小花2 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸2 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain2 小时前
linux个人心得22 (mysql)
数据库·mysql
_李小白2 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
阿里小阿希2 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神3 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员3 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java3 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿3 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
杨云龙UP3 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh