从Jenkins Matrix组合中筛选出测试

时间:2018-01-18 22:07:10

标签: jenkins matrix groovy

设定:

我的测试在配置矩阵中的3个轴上分开:

  • site:Site1,Site2
  • 浏览器:Chrome,Firefox,Safari
  • test:Test1,Test2,Test3

使用以下Groovy脚本选择Groovy Script Matrix Executor策略:

combinations.each{
             result[it.browser] = result[it.browser] ?: []    
         result[it.browser] << it
}

return [ result, true]

最后,最终矩阵看起来像这样: 来自here的第一张图片。

现在,当我添加一个新的测试时,我只想让Site1为例,所以最后矩阵应该看起来像上面link的第二个图像。

帮助提到了一个组合过滤器,如果我理解正确,我可以这样做:

!(site=="Site2" && test=="Test4")
!(site=="Site3" && test=="Test4")

将这些陈述与上述组合一起使用似乎没有用。

可以做到吗?有人能指出我做错了吗?

1 个答案:

答案 0 :(得分:0)

您不能将组合滤镜与groovy矩阵执行策略一起使用。它只是由于UI随着时间的推移而演变的方式出现。

我认为您可以将the matrix combination plugin与groovy执行策略一起使用,然后选择您想要的策略。

或者,您可以调整groovy脚本。如果您不添加组合,则不会运行

未测试

combinations.each{
     if(['Site2', 'Site3'].contains(it.site) && it.test == 'Test4')
         return

     result[it.browser] = result[it.browser] ?: []    
     result[it.browser] << it
}

return [ result, true]

声明: Matrix Groovy执行策略是我的插件