我想在jenkins上运行一个自动化测试脚本(用java编写),它具有以下规范:系统信息:os.name:'Linux',os.arch:'amd64',os.version:'5.14.0- 284.64.1.el9_2.x86_64', java.version: '11.0.18'
首先我尝试从此链接下载linux chromedriver:https://googlechromelabs.github.io/chrome-for-testing/#stable
我在我的 Drivers.java 文件中做了以下更改
package com.airbus.iam.l10.datacheckerautomationtesting.factory;
import org.openqa.selenium.PageLoadStrategy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Drivers {
static WebDriver driver=null;
public static void initializeBrowser(String browserName){
System.setProperty("webdriver.chrome.driver", "chromedriver");
ChromeOptions options = new ChromeOptions();
// options.addArguments("--headless");
options.addArguments("--window-size=1920,1080");
options.addArguments("--start-maximized");
options.addArguments("--incognito");
options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
if(browserName.equals("chrome")){
driver = new ChromeDriver(options);
}
else if (browserName.equals("edge")){
driver = new EdgeDriver();
}
else if (browserName.equals("firefox")){
driver = new FirefoxDriver();
}
}
public static WebDriver getDriver(){
return driver;
}
}
但我仍然收到此错误:
org.openqa.selenium.remote.NoSuchDriverException: chromedriver located at chromedriver, cannot be executed
For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location/
Build info: version: '4.11.0', revision: '040bc5406b'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '5.14.0-284.64.1.el9_2.x86_64', java.version: '11.0.18'
Driver info: driver.version: ChromeDriver
然后我尝试使用这篇文章使用 openshift4 终端下载 chrome:How can I run selenium on Linux?
当我尝试安装 chrome 二进制文件时,它显示在终端中找不到 sudo 命令。
对于 chrome 驱动程序,需要很长时间并且显示:正在连接到 dl.google.com (dl.google.com)|142.250.201.174|:443... 已连接。 终端连接已关闭。
请提出解决此问题的方法。
System.setProperty("webdriver.chrome.driver", "chromedriver");
如果您使用的是selenium
v4.6.0
或更高版本,则无需再手动下载和设置chrome驱动程序路径。这意味着您不需要上面的代码。删掉就好了
Selenium 的新工具称为 Selenium Manager 将执行自动驱动程序管理。
参考资料: