selenium - Jenkins 上的 Selenium 正在跳过所有测试
问题描述
- 爪哇:8
- 硒:3.14
- 浏览器:火狐 62.0.2
- 壁虎驱动程序:v0.22.0
我在 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
解决方案
include( '**/myProjectSuiteSelenium.class')
删除此包含并将其替换为与您的实际测试相匹配的内容。
我在 Jenkins 日志中看到“selenium.*”。
推荐阅读
- php - PHP - 将文本转换为 Unicode
- android - 谷歌地图点击兴趣点在Android和IOS上返回不同的placeId
- excel - VBA - 使用插入的行应用自动填充(基于输入框)并将其应用到其他工作表
- django - 每次我输入提交时,Is_valid 似乎都不是真的
- python-3.x - AssertionError:某些对象具有未恢复的属性
- vue.js - Vue div 文本没有动态更新
- c++ - 在 s-function 中将字符串数组作为参数传递
- google-pagespeed - pagespeed FCP 值:为什么不采用实验室值?
- slack - 使用 Slack App 统计所有用户的消息
- javascript - 使用 jquery 切换图像