如何在CentOS系统的Jenkins中正确运行Robot测试命令
错误原因
你将声明式Pipeline脚本错误填入了自由风格任务的「执行Shell」步骤中,该步骤会将所有内容直接作为CentOS系统Shell命令运行,Shell环境不存在pipeline命令,因此直接抛出command not found报错。
解决方案1:保留自由风格任务(无需使用Pipeline)
直接删除「执行Shell」输入框内的所有Pipeline代码,仅填写实际需要执行的Shell命令即可:
echo "PATH= ${PATH}" # 执行Robot测试 python3 -m robot Tests_commands/setlogin/LogonTest.robot
需提前确认两个前置条件:
- Jenkins运行节点已通过
pip3 install robotframework安装Robot Framework,且python3环境对Jenkins运行用户可用 - 任务工作目录下确实存在
Tests_commands/setlogin/LogonTest.robot文件,路径匹配正确
解决方案2:改用Pipeline类型任务运行你的脚本
如果需要使用Pipeline语法管理任务流程,按以下步骤调整:
- 新建Jenkins任务时选择「流水线(Pipeline)」类型,而非自由风格
- 在任务配置页找到「Pipeline」配置区域,「定义」项选择「Pipeline script」
- 将你编写的Pipeline脚本粘贴到脚本输入框中,建议修正拼写错误:将
intialize改为正确的initialize - 保存配置后重新执行构建即可
额外验证项
为避免后续出现Robot结果解析失败,建议提前确认:
- Jenkins运行用户对测试用例存放路径
/var/lib/jenkins/workspace/Tests_commands/setlogin/有读、执行权限 - 可在测试执行命令前增加
ls Tests_commands/setlogin/命令,确认测试文件存在,排查路径匹配问题
内容的提问来源于stack exchange,提问作者MeOndudy
相关产品推荐
相关产品推荐

