Selenium on Jenkins跳过了所有测试

时间:2018-10-04 14:14:40

标签: selenium jenkins gradle

  • Java:8
  • 硒:3.14
  • 浏览器:Firefox 62.0.2
  • Geckodriver:v0.22.0

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

这是硒对我的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']

这是设置壁虎驱动程序路径的位置。我只使用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();
}

在我的seleniumProperties上设置了geckodriver路径。安装在环境中的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

2 个答案:

答案 0 :(得分:0)

include( '**/myProjectSuiteSelenium.class')

删除此包含项,并用与您的实际测试相匹配的内容替换。

我在詹金斯记录中看到了“硒*”。

答案 1 :(得分:0)

我发现了问题所在。

问题在于詹金斯没有记录真正的错误。我的seleniumProperties使用selenium属性引用了错误的文件。因此,它没有获得正确的geckodriver文件。

一旦我更改为正确的文件,就不再跳过测试。