首页 > 解决方案 > Jenkins 上的 Selenium 正在跳过所有测试

问题描述

我在 Jenkins 上的项目的 Selenium 执行正在跳过所有测试: Jenkins 日志

这是 selenium 对我的 build.gradle 文件的依赖:

['org.seleniumhq.selenium:selenium-java:3.14.0'],
['org.seleniumhq.selenium:selenium-server:3.14.0'],
['org.seleniumhq.selenium:selenium-api:3.14.0'],
['org.seleniumhq.selenium:selenium-support:3.14.0'],
['org.seleniumhq.selenium:selenium-remote-driver:3.14.0'],
['org.seleniumhq.selenium:selenium-firefox-driver:3.14.0'],
['org.seleniumhq.selenium:selenium-chrome-driver:3.14.0']

这里是我设置 geckodriver 路径的地方。我只使用Firefox:

@Before
public void openResources() {

    if( webDriver == null ){
        String geckodriver = seleniumProperties.getString("selenium.caminhoGeckodriver");

        try {
            String browser = seleniumProperties.getString("selenium.browser");

            if (!StringUtils.isEmpty(browser) && browser.toLowerCase().equals("chrome")) {
                String path = seleniumProperties.getString("selenium.browser.path");
                System.setProperty("webdriver.chrome.driver", path);
                webDriver = new ChromeDriver();
            } else {
                System.setProperty("webdriver.gecko.driver", geckodriver);
                webDriver = new FirefoxDriver();
            }
        } catch (MissingResourceException e) {
            System.setProperty("webdriver.gecko.driver", geckodriver);
            webDriver = new FirefoxDriver();
        }
    }

    webDriver.manage().timeouts().implicitlyWait(TIMEOUT, TimeUnit.SECONDS);
    webDriver.manage().timeouts().pageLoadTimeout(TIMEOUT, TimeUnit.SECONDS);
    webDriver.manage().timeouts().setScriptTimeout(TIMEOUT, TimeUnit.SECONDS);
    efetuarLogin();
}

geckodriver 路径设置在我的 seleniumProperties 上。环境安装的firefox版本是62.0.2。

在 Eclipse 上,不会跳过测试。

更新:这是定义任务 runSelenium 的一段代码(使用我发布的 Jenkins 日志检查图像):

task runSelenium(type: Test) {
    include( '**/myProjectSuiteSelenium.class')
    maxHeapSize = "1524m"
    jvmArgs "-XX:MaxPermSize=512m", "-XX:-UseSplitVerifier"
}

test.finalizedBy runSelenium

标签: seleniumjenkinsgradle

解决方案


include( '**/myProjectSuiteSelenium.class')

删除此包含并将其替换为与您的实际测试相匹配的内容。

我在 Jenkins 日志中看到“selenium.*”。


推荐阅读