【发布时间】:2015-08-07 08:58:18
【问题描述】:
背景
我有一组 Java 测试脚本,它们都在一个包中。我的 pom 文件指定了 Testng。我将测试连同所需的所有库一起存储在 Bitbucket 上。作为我网站的一部分,我有一个 Jenkins 实例在我的服务器上运行。测试通过无头 Firefox 运行。
问题
所以在添加更大的批次之前,它一直运行良好。每个 .java 文件中都有 5-12 个 @test 声明 (Testng),几乎每个 @test 都是一个方法。当 Bitbucket 中有大约 5 个 .java 文件时,它运行良好,但现在有 14 个 .java 文件,它会引发错误。
Jenkins 查看控制台输出
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host
火狐输出
(process:23458): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0'
failed Xlib: extension "RANDR" missing on display ":79".
firefox: Fatal IO error 2 (No such file or directory) on X server :79
扣除
所以这看起来像是为无头测试设置的 Xvnc 的错误,因为它是 GLib-CRITICAL 问题和连接错误。但是 Jenkins 构建中的任何内容都与上次相比没有发生任何变化,除了额外的测试。
问题
现在的实际问题是,使用 Jenkins 运行大批量测试是否可以节省,或者是否应该将它们分解为子测试集以捕获此类错误,在我的情况下,这意味着拥有许多不同的 Bitbuket 存储库,例如运行不同的批次?或者我可以从一个存储库运行大量批次吗?
如果有人有快速修复或关于什么可以修复我的错误的建议,我也将不胜感激,我只是将存储库回滚到可运行状态并单独添加新测试。
【问题讨论】:
-
投票赞成明确而详细的问题。