Jenkins构建,执行pytest命令时提示command not found问题解决

问题说明

在centos下安装了jenkins,在构建步骤中选择执行shell
这里写图片描述
添加命令

py.test /home/test/test_do.py

执行提示

+ py.test /home/tet/test_do.py
/tmp/jenkins6679338483323490176.sh: line 2: py.test: command not found
google找到思路

jenkins找不到命令一般有两种解决方式(前提是jenkins所在用户组有该命令的执行权限):
1、增加环境变量:在待执行的shell脚本前,执行export命令:export PATH = xxx:$PATH(xxx为找不到命令的所在目录)
2、脚本中直接使用命令的绝对路径:/usr/local/bin/py.test xxxx

使用第2种方法尝试解决
  • 在linux中使用命令which pytest,找到pytest命令的路径 (我找到的路径为/root/anaconda2/bin/pytest)
  • 在jenkins命令中更改为 /root/anaconda2/bin/pytest /home/ling/test_do.py

出现报错,没有权限
+ /root/anaconda2/bin/pytest /home/ling/test_do.py
/tmp/jenkins8129489062926013803.sh: line 2: /root/anaconda2/bin/pytest: Permission denied

如上google找到的思路所说,应该是jenkins所在用户组没有该命令的执行权限( /root 目录下的权限)
jenkins默认是使用jenkins账户来进行操作的,更改为root账号
更改jenkins默认用户的方法,参考文章
修改jenkins默认的用户

  • 修改成功后,重新启动jenkins
  • 构建成功
扩展 pytest使用
/root/anaconda2/bin/pytest /home/ling/test_do.py -s --reruns 1 --junit-xml=test_result.xml
  • 重试运行cases -reruns NUM
    NUM 为重试次数

  • 显示print内容 -s
    在jenkins控制台输出会显示print的内容

  • 测试结果输出到报告 –junit-xml=test_result.xml
    这里写图片描述

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值