我在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
答案 0 :(得分:0)
include( '**/myProjectSuiteSelenium.class')
删除此包含项,并用与您的实际测试相匹配的内容替换。
我在詹金斯记录中看到了“硒*”。
答案 1 :(得分:0)
我发现了问题所在。
问题在于詹金斯没有记录真正的错误。我的seleniumProperties使用selenium属性引用了错误的文件。因此,它没有获得正确的geckodriver文件。
一旦我更改为正确的文件,就不再跳过测试。