Selenium测试在加载内容时挂起CI

Selenium测试在加载内容时挂起CI,selenium,jenkins,timeout,webdriver,Selenium,Jenkins,Timeout,Webdriver,我试图调试一些Selenium测试,但无法在本地重现该问题。在CI上,选中一些复选框后,页面将重新加载(显示加载动画),在Jenkins代理上,页面将挂起数小时。我尝试使用这些选项,我在页面的类构造函数中添加了这些选项: driver.manage().timeouts().implicitlyWait(8, SECONDS); driver.manage().timeouts().pageLoadTimeout(8, SECONDS); 我也试过了 public static void

我试图调试一些Selenium测试,但无法在本地重现该问题。在CI上,选中一些复选框后,页面将重新加载(显示加载动画),在Jenkins代理上,页面将挂起数小时。我尝试使用这些选项,我在页面的类构造函数中添加了这些选项:

driver.manage().timeouts().implicitlyWait(8, SECONDS);  
driver.manage().timeouts().pageLoadTimeout(8, SECONDS);
我也试过了

public static void waitForLoadingPopUpToBecomeInvisible() {
        try {
            WebdriverWait wait = new WebDriverWait(driver, 20);
            wait.until(invisibilityOfElementLocated(By.className("loading")));
        } catch (Exception e) {
            driver.navigate().refresh()
        }
    }
如果加载动画显示时间超过X秒,我想刷新页面;如果测试运行时间超过Y分钟,我想强制终止测试


您能提出更好的建议吗?

只是一个问题,您能分享您的CI和Selenium集成代码吗?我想知道,您是如何将脚本与CI工具集成的?不确定您所说的脚本是什么意思…我想知道,您是如何将脚本与CI工具集成的?因为我在CruiseControlDotNet CI工具中也遇到了同样的问题,当我更改集成脚本时,它工作得很好。它被配置为已定义作业的生成步骤。在这项工作的第一次构建中,我从项目存储库中克隆了一个git,但现在它正在进行最新的更改。