我的测试用例在我的本地 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 二进制文件
任何人的任何想法?