首页 文章

如果推送新版本,Jenkins会强制退出黄瓜脚本

提问于
浏览
0

所以我使用Ruby / Cucumber和Appium在Jenkins服务器上的每个构建之后运行自动化测试 .

基本上我有一个工作设置,在每次成功构建之后运行我们的回归套件 . 当我的黄瓜测试正在运行并且新构建成功时,我的问题就出现了 .

目前Jenkins将使用黄瓜脚本开始一系列新的测试,但不会强制旧脚本退出 . 这导致我的所有黄瓜报告显示多个假阴性 . 有没有办法规定Jenkins在开始一组新的测试之前运行一个退出黄瓜的脚本?

非常感谢您提供帮助 . 如果您对我如何设置Jenkins有任何疑问,请询问,我会给您更详细的信息 .

1 回答

  • 1

    从技术上讲,Jenkins Job将等待一个作业实例完成,直到它启动另一个作业 . 所以你不必担心在第一个完成之前启动另一个构建...

    现在回答你的问题,如果一组新的测试用例想要启动,如何杀死旧的/现有的测试用例 .

    我建议在你的实际测试被触发之前运行一个清理脚本,你的测试将使用rake或直接黄瓜命令触发,我猜 . 所以在此之前,执行 cleanup.sh 将执行以下操作:
    1)重启appium服务器 .
    2)杀死正在运行的ruby进程 .
    3)杀死正在运行的黄瓜过程 .

    该脚本应如下所示:

    kill -9 $(ps -ef | grep \[a]ppium | awk '{print $2}')
    kill -9 $(ps -ef | grep \[r]uby | awk '{print $2}')
    kill -9 $(ps -ef | grep \[c]ucumber | awk '{print $2}')
    
    # restart appium again
    appium &
    

    希望能帮助到你!!如果你遇到问题,请在评论中告诉我.. :)

相关问题