selenium-chromedriver - Gitlab CI ParameterResolutionException 无法解析参数
问题描述
我的测试用例在我的本地 Eclipse 环境中运行良好。
@Test
@Order(1)
void testTitle(@Arguments("--headless") ChromeDriver driver) {
driver.get("https://google.com");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
assertThat(driver.getTitle(), containsString("Google"));
}
但是当我在 Gitlab 中使用它时它失败了。我使用了以下 docker 镜像:maven:3.3.9-jdk-8。
它下载并提取 chrome 驱动程序 https://chromedriver.storage.googleapis.com/90.0.4430.24/chromedriver_linux64.zip 2021-05-17 16:33:54.508 INFO --- [ main] igbonigarcia.wdm.online.Downloader :下载https://chromedriver.storage.googleapis.com/90.0.4430.24/chromedriver_linux64.zip 2021-05-17 16:33:54.977 INFO --- [ main] igbonigarcia.wdm.online.Downloader :从压缩文件中提取驱动程序chromedriver_linux64.zip 2021-05-17 16:33:55.083 INFO --- [main] igbonigarcia.wdm.WebDriverManager:将 webdriver.chrome.driver 导出为 /root/.cache/selenium/chromedriver/linux64/90.0.4430.24/chromedriver
但在测试执行期间显示以下错误
引起:io.github.bonigarcia.seljup.SeleniumJupiterException:org.openqa.selenium.WebDriverException:未知错误:找不到 Chrome 二进制文件
任何人的任何想法?
解决方案
我发现了问题并解决了它。需要使用另一个 docker 镜像 maven-chrome。
推荐阅读
- c# - 格式化使用 npgsql 的 datagridview
- android - 如何通过单击按钮重新加载(刷新)WebView 内容?科特林
- java - 带有泛型的静态工厂方法
- c# - 为什么 System.Web.Mvc 中有 ExpressionHelper.GetExpressionText?
- firefox - Firefox - 输入/表单的默认配色方案?
- html - 我怎样才能使这个网站响应?
- angular - 是否可以在角度组件而不是服务中注入令牌?
- python - http put 时如何仅使用 django rest 框架更新部分 db 记录参数?
- c# - ETO 表单中的动态布局缓慢
- json - Elixir/Phoenix 将 JSON 保存到 Postgres 数据库