使用Jenkins + Robot框架测试自动化

时间:2015-11-30 10:55:00

标签: jenkins selenium-webdriver automation automated-tests robotframework

我们正在使用Jenkins进行持续集成。

我还为机器人框架测试用例创建了Jenkins作业。但是在使用Jenkins运行机器人框架测试用例时遇到了一个问题。

比如说,如果我必须在机器人框架的Jenkins作业中包含大约300个测试用例,那么在运行测试用例时,如果任何测试用例失败,那么剩下的测试脚本将不会被执行。

例如:在运行测试用例时,如果第10个测试用例失败,则其余290个测试用例将不会被执行!

Jenkins中是否有更好的选择以并发方式运行所有测试用例? - 因此,任何测试用例的失败都不会影响其他测试用例的执行!

  

我唯一的要求是 - 即使任何测试用例在两者之间失败,也必须执行Jenkins作业中列出的所有测试用例。

您能为这个问题建议一个解决方案吗?

我是否必须包含任何其他插件?

以下是这个特殊詹金斯工作的截图 -  enter image description here

2 个答案:

答案 0 :(得分:3)

这不是批量运行测试的好方法。对于初学者来说,RobotFramework日志只包含最后一次测试的结果,即使它们都已通过。

问题是,当执行Shell'在构建失败的步骤中,Jenkins停止构建。正如上面的评论中所指出的,您可以尝试使用exit 0更改返回状态。

但是,不是每个测试都是一个单独的构建步骤:

pybot /home/arun/test-cases/228.txt
pybot /home/arun/test-cases/117.txt
...etc

你应该一步一步地执行它们:

pybot /home/arun/test-cases/

如果您需要控制执行哪些测试而不是该文件夹及其子文件夹中的所有有效测试文件,请使用tags

答案 1 :(得分:1)

https://wiki.jenkins-ci.org/display/JENKINS/Robot+Framework+Plugin列出了必要的配置步骤之一:

  
      
  1. 强制您的Robot脚本使用" exit从shell成功返回   0"授权插件决定构建是否成功/失败   (默认情况下,当出现任何失败的测试时,Robot会退出并显示错误代码)
  2.   

因此,如果您的测试脚本返回0,那么jenkins构建将失败,您可以决定结果要显示的状态。

  
      
  1. 设置阈值并可选择禁用关键测试的阈值   只计算通过百分比中的每个测试。
  2.