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