java - 无法通过 jenkins 上的 chrome webdriver 启动 chrome,因为它在我的本地计算机上运行良好

标签 java selenium google-chrome testing webdriver

无法通过 jenkins 上的 chrome webdriver 启动 chrome,因为它在我的本地计算机上运行良好。我已经尝试了互联网上的所有方法来解决这个问题,但无法摆脱这个漏洞。尽管这非常令人恼火,但我浪费了很多时间,如果有人熟悉这个问题,请提供帮助。由于我是 Selenium 测试的新手,这是一个非常令人沮丧的问题。

Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/Test
`using credential 9917dab9-de45-43b7-8ff2-0c2b530a0ecf
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://bitbucket.org/admitkard/akd_e2e.git # timeout=10
Fetching upstream changes from https://bitbucket.org/admitkard/akd_e2e.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials 
 > git fetch --tags --progress -- https://bitbucket.org/admitkard/akd_e2e.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse refs/remotes/origin/pawan^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/pawan^{commit} # timeout=10
Checking out Revision 10f6281f501136b9ffcd504f4d8f3a54568d1162 (refs/remotes/origin/pawan)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 10f6281f501136b9ffcd504f4d8f3a54568d1162 # timeout=10
Commit message: "Hi"
 > git rev-list --no-walk 10f6281f501136b9ffcd504f4d8f3a54568d1162 # timeout=10
[Test] $ /bin/sh -xe /tmp/jenkins5524615085827631447.sh
+ echo /var/lib/jenkins/workspace/Test
/var/lib/jenkins/workspace/Test
+ cd /var/lib/jenkins/workspace/Test/
+ mvn clean test -DtestngFile=testng/signupTestng.xml -Durl=https://dev.admitkard.net/ -Dbrowser=chrome
[[1;34mINFO[m] Scanning for projects...
[[1;33mWARNING[m] 
[[1;33mWARNING[m] Some problems were encountered while building the effective model for com.example.admitKard:admitKard:jar:1.0-SNAPSHOT
[[1;33mWARNING[m] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 27, column 21
[[1;33mWARNING[m] 
[[1;33mWARNING[m] It is highly recommended to fix these problems because they threaten the stability of your build.
[[1;33mWARNING[m] 
[[1;33mWARNING[m] For this reason, future Maven versions might no longer support building such malformed projects.
[[1;33mWARNING[m] 
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m------------------< [0;36mcom.example.admitKard:admitKard[0;1m >-------------------[m
[[1;34mINFO[m] [1mBuilding admitKard 1.0-SNAPSHOT[m
[[1;34mINFO[m] [1m--------------------------------[ jar ]---------------------------------[m
[[1;33mWARNING[m] The artifact org.apache.commons:commons-io:jar:1.3.2 has been relocated to commons-io:commons-io:jar:1.3.2
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-clean-plugin:2.5:clean[m [1m(default-clean)[m @ [36madmitKard[0;1m ---[m
[[1;34mINFO[m] Deleting /var/lib/jenkins/workspace/Test/target
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-resources-plugin:2.6:resources[m [1m(default-resources)[m @ [36madmitKard[0;1m ---[m
[[1;33mWARNING[m] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[[1;34mINFO[m] skip non existing resourceDirectory /var/lib/jenkins/workspace/Test/src/main/resources
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-compiler-plugin:3.1:compile[m [1m(default-compile)[m @ [36madmitKard[0;1m ---[m
[[1;34mINFO[m] No sources to compile
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-resources-plugin:2.6:testResources[m [1m(default-testResources)[m @ [36madmitKard[0;1m ---[m
[[1;33mWARNING[m] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[[1;34mINFO[m] Copying 16 resources
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-compiler-plugin:3.1:testCompile[m [1m(default-testCompile)[m @ [36madmitKard[0;1m ---[m
[[1;34mINFO[m] Changes detected - recompiling the module!
[[1;33mWARNING[m] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[[1;34mINFO[m] Compiling 53 source files to /var/lib/jenkins/workspace/Test/target/test-classes
[[1;33mWARNING[m] /var/lib/jenkins/workspace/Test/src/test/java/admitKard/testcases/StudentProfileTest.java: /var/lib/jenkins/workspace/Test/src/test/java/admitKard/testcases/StudentProfileTest.java uses unchecked or unsafe operations.
[[1;33mWARNING[m] /var/lib/jenkins/workspace/Test/src/test/java/admitKard/testcases/StudentProfileTest.java: Recompile with -Xlint:unchecked for details.
[[1;34mINFO[m] 
[[1;34mINFO[m] [1m--- [0;32mmaven-surefire-plugin:3.0.0-M3:test[m [1m(default-test)[m @ [36madmitKard[0;1m ---[m
[[1;34mINFO[m] 
[[1;34mINFO[m] -------------------------------------------------------
[[1;34mINFO[m]  T E S T S
[[1;34mINFO[m] -------------------------------------------------------
[[1;34mINFO[m] Running [1mTestSuite[m
Feb 19, 2020 11:39:25 AM org.openqa.selenium.remote.DesiredCapabilities chrome
INFO: Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()`
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 24340
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
FAILED CONFIGURATION: @BeforeSuite setDriver
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'latitude-e7450', ip: '192.168.0.72', os.name: 'Linux', os.arch: 'amd64', os.version: '5.3.0-28-generic', java.version: '1.8.0_242'
Driver info: driver.version: Set_Driver
remote stacktrace: #0 0x561a34250d29 <unknown>

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)
    at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:122)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
    at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
    at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
    at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:125)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:157)
    at admitKard.base.BaseUIPage.initWebsiteDriver(BaseUIPage.java:72)
    at admitKard.base.Set_Driver.setDriver(Set_Driver.java:66)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
    at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:62)
    at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:340)
    at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:294)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:345)
    at org.testng.SuiteRunner.run(SuiteRunner.java:304)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1180)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1102)
    at org.testng.TestNG.runSuites(TestNG.java:1032)
    at org.testng.TestNG.run(TestNG.java:1000)
    at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:283)
    at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75)
    at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:120)
    at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
    at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)

SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod register
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED: verifyClickRegisterTab
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'latitude-e7450', ip: '192.168.0.72', os.name: 'Linux', os.arch: 'amd64', os.version: '5.3.0-28-generic', java.version: '1.8.0_242'
Driver info: driver.version: Set_Driver
remote stacktrace: #0 0x561a34250d29 <unknown>

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)
    at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:122)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
    at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
    at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
    at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:125)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:157)
    at admitKard.base.BaseUIPage.initWebsiteDriver(BaseUIPage.java:72)
    at admitKard.base.Set_Driver.setDriver(Set_Driver.java:66)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
    at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:62)
    at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:340)
    at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:294)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:345)
    at org.testng.SuiteRunner.run(SuiteRunner.java:304)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1180)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1102)
    at org.testng.TestNG.runSuites(TestNG.java:1032)
    at org.testng.TestNG.run(TestNG.java:1000)
    at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:283)
    at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75)
    at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:120)
    at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
    at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)

这是套件之前:-

`@BeforeSuite
    public void setDriver() throws Exception {

            BaseUIPage bp = new BaseUIPage();

            //Generate HTML Report
            htmlReporter = new ExtentHtmlReporter(new File(System.getProperty("user.dir") + "/AutomationReports.html"));
            htmlReporter.loadXMLConfig(
                    String.valueOf(new File(System.getProperty("user.dir") + "/src/test/resources/runner/extent-config.xml")));
            reports = new ExtentReports();
            reports.setSystemInfo("Environment", "Local");
            reports.setSystemInfo("Website Name", "AdmitKard");
            reports.attachReporter(htmlReporter);

            //Read Data from data properties file
            dataFileProperties = new Properties();
            FileInputStream fis = new FileInputStream(
                    System.getProperty("user.dir") + "/src/test/resources/properties/datafile.properties");
            dataFileProperties.load(fis);

        if (wDriver == null) {
            //Initialize web driver and Launch Website
            WEB_URL = System.getProperty("url");
            BROWSER = System.getProperty("browser");
            if(WEB_URL == null)
            {
                WEB_URL = dataFileProperties.getProperty("URL");
                BROWSER = dataFileProperties.getProperty("browser");
            }
            wDriver = bp.initWebsiteDriver(wDriver, WEB_URL, BROWSER);
        }
            //Set web driver in base UI page
            bp.setWebDriver(wDriver);

        //driver set for multiple browser
        multipleBrowser = System.getProperty("secondBrowser");
//        if(multipleBrowser == null){
//        multipleBrowser = dataFileProperties.getProperty("secondBrowser");}
        if(multipleBrowser!= null && multipleBrowser.equals("true")){
            secondDriver = bp.initWebsiteDriver(secondDriver, WEB_URL, BROWSER);
            bp.setSecondWebDriver(secondDriver);
        }
        //MyScreenRecorder.startRecording("AutomationTest");
     }`

这是 webdriver 初始化代码:-

 `public WebDriver initWebsiteDriver(WebDriver cDriver, String WEB_URL, String Browser) throws NullPointerException
    {

        if(Browser.equalsIgnoreCase("Chrome"))
        {
            System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir")+"/browserDriver/chromedriver");


            System.setProperty("webdriver.chrome.logfile", System.getProperty("user.dir")+"/browserDriver/chromedriver.log");
            System.setProperty("webdriver.chrome.verboseLogging", "true");

            //Set path for download file
            String downloadFilepath = System.getProperty("user.dir")+"/src/test/resources/download";
            HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
            chromePrefs.put("profile.default_content_settings.popups", 0);
            chromePrefs.put("download.default_directory", downloadFilepath);
            ChromeOptions options = new ChromeOptions();
            options.setExperimentalOption("prefs", chromePrefs);
            DesiredCapabilities cap = DesiredCapabilities.chrome();
            cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
            cap.setCapability(ChromeOptions.CAPABILITY, options);
            options.setBinary("/usr/bin/google-chrome");
            options.addArguments("--no-sandbox"); //https://stackoverflow.com/a/50725918/1689770
            options.addArguments("disable-features=NetworkService");
            options.addArguments("--disable-dev-shm-usage");
            options.addArguments("--no-sandbox");
            options.addArguments("--remote-debugging-port=9222");
           // ChromeOptions chromeOptions = new ChromeOptions();
            options.addArguments("--disable-notifications");
           // options.addArguments("--headless");
           // options.setHeadless(true);
            options.addArguments("--no-sandbox");
            options.addArguments("--disable-dev-shm-usage");
            cDriver = new ChromeDriver(options);
            //cDriver=new RemoteWebDriver(cap);
        }
        else if(Browser.equalsIgnoreCase("Firefox"))
        {
            System.setProperty("webdriver.gecko.driver",System.getProperty("user.dir")+"/browserDriver/geckodriver");
            FirefoxProfile profile = new FirefoxProfile();
            profile.setPreference("browser.download.dir", System.getProperty("user.dir") + "/src/test/resources/download"
                     + File.separator);

            FirefoxOptions firefoxOptions = new FirefoxOptions();
            firefoxOptions.setProfile(profile);


            //firefoxOptions.addPreference("dom.webnotifications.enabled",false);
            cDriver = new FirefoxDriver(firefoxOptions);
        }
        else if(Browser.equalsIgnoreCase("safari"))
        {
            cDriver = new SafariDriver();
        }
        cDriver.manage().window().setSize(new Dimension(1680, 900));
        cDriver.get(WEB_URL);
        cDriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        return cDriver;
    }`

最佳答案

添加

--remote-debugging-port=9222

到您的 Chrome 驱动程序选项

关于java - 无法通过 jenkins 上的 chrome webdriver 启动 chrome,因为它在我的本地计算机上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60297793/

相关文章:

java - "low risk"JDO 或 JPA 之间的选择是什么?

java - Spring MVC : Where to place validation and how to validation entity references

java - 当某个元素突出显示时查找该元素的文本

c++ - 将 IAccessible 与 Google Chrome 一起使用会返回不完整的树

google-chrome - Chrome 会忽略给定域或证书的警告吗?

javascript - 谷歌浏览器打印问题搞砸了文本

java - Android 游戏上的自动保存和自动加载游戏概念以及内部保存与保存。外部(又称 SD 卡)

java - 为什么当 grails 项目作为 grails-app 运行时,我的 java 项目中的包无法编译,java 项目引用了 grails 项目

java - 有没有办法使用 selenium 设置初始浏览器位置?

html - 在我的应用程序中,我需要验证 Selenium webdriver 中的通过或失败图标