0

Similar to my previous issue (Link Here) and many other issues surrounding Selenium's apparent inability to start a new session (Link Here etc) except I have already verified the following:

Maven Dependencies:

<dependency>
    <groupId>com.github.stephenc.monte</groupId>
    <artifactId>monte-screen-recorder</artifactId>
    <version>0.7.7.0</version>
</dependency>
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.11.0</version>
</dependency>
<dependency>
    <groupId>com.j2html</groupId>
    <artifactId>j2html</artifactId>
    <version>1.5.0</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.36</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.2</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.2</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.3.0</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-api</artifactId>
    <version>4.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.13</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.3</version>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>7.3.3</version>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>7.3.3</version>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-core</artifactId>
    <version>7.3.3</version>
</dependency>
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.9.0</version>
</dependency>

Maven Command:

mvn test "-Dcucumber.options=--tags '[CUKE-OPTIONS]'" -Denv=[MY-ENV] -DforkCount=0 -DreuseForks=false

When I attempt to run this command; sometimes Chromedriver will start successfully and open a browser correctly; but sometimes I see the following error message:

Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:587)
org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:264)
org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:179)
org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:101)
org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:81)
org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:70)
[MY-PROJECT].chromeStuff(BrowserRunTime.java:187)
[MY-PROJECT].<init>(BrowserRunTime.java:45)
[MY-PROJECT]$Builder.build(BrowserRunTime.java:111)
[MY-PROJECT].StepDefinitions.setupEnvironment(StepDefinitions.java:108)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
io.cucumber.java.Invoker.doInvoke(Invoker.java:66)
io.cucumber.java.Invoker.invoke(Invoker.java:24)
io.cucumber.java.AbstractGlueDefinition.invokeMethod(AbstractGlueDefinition.java:47)
io.cucumber.java.JavaHookDefinition.execute(JavaHookDefinition.java:64)
io.cucumber.core.runner.CoreHookDefinition.execute(CoreHookDefinition.java:46)
io.cucumber.core.runner.HookDefinitionMatch.runStep(HookDefinitionMatch.java:21)
io.cucumber.core.runner.ExecutionMode$1.execute(ExecutionMode.java:10)
io.cucumber.core.runner.TestStep.executeStep(TestStep.java:85)
io.cucumber.core.runner.TestStep.run(TestStep.java:57)
io.cucumber.core.runner.TestCase.run(TestCase.java:78)
io.cucumber.core.runner.Runner.runPickle(Runner.java:75)
io.cucumber.junit.PickleRunners$NoStepDescriptions.lambda$run$0(PickleRunners.java:151)
io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$5(CucumberExecutionContext.java:129)
io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23)
io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:129)
io.cucumber.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:148)
io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:144)
io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:28)
org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
org.junit.runners.ParentRunner.run(ParentRunner.java:413)
io.cucumber.junit.FeatureRunner.run(FeatureRunner.java:137)
io.cucumber.junit.Cucumber.runChild(Cucumber.java:196)
io.cucumber.junit.Cucumber.runChild(Cucumber.java:89)
org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
io.cucumber.junit.Cucumber$RunBeforeAllHooks.evaluate(Cucumber.java:266)
io.cucumber.junit.Cucumber$RunAfterAllHooks.evaluate(Cucumber.java:281)
io.cucumber.junit.Cucumber$StartTestRun.evaluate(Cucumber.java:233)
io.cucumber.junit.Cucumber$FinishTestRun.evaluate(Cucumber.java:248)
org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
org.junit.runners.ParentRunner.run(ParentRunner.java:413)
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:364)
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:237)
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:158)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.apache.maven.surefire.api.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:167)
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
org.apache.maven.plugin.surefire.InPluginVMSurefireStarter.runSuitesInProcess(InPluginVMSurefireStarter.java:87)
org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1295)
org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1159)
org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:932)
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
org.codehaus.classworlds.Launcher.main(Launcher.java:47)

I can't share my code as it is proprietary knowledge to my company; but the general Chromedriver stuff is as follows for "chromeStuff()":

String exePath = System.getProperty(USER_DIR) + "\\src\\main\\resources\\chromedriver.exe";
System.setProperty("webdriver.chrome.driver", exePath);
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--start-maximized");

WebDriver driver = new ChromeDriver(chromeOptions);
driver.get(URL);
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));

line BrowserRunTime.java:187 is:

WebDriver driver = new ChromeDriver(chromeOptions);
Raisus
  • 148
  • 3
  • 23
  • Have a look at https://stackoverflow.com/help/minimal-reproducible-example so you can make something that you can share. Might seem like a lot of work but you're asking people to do your paid job for you right now. :D – M.P. Korstanje Jul 28 '22 at 11:32
  • What makes you feel the core issue is at `BrowserRunTime.java:187`? – undetected Selenium Jul 28 '22 at 21:58
  • @undetectedSelenium honestly, no clue mate. That's just what the stack trace says is the line in my code; the rest are native Selenium/etc – Raisus Jul 29 '22 at 10:07
  • @M.P.Korstanje LOL I'm not asking you to do my job for me; I'm asking why Selenium isn't starting a browser sometimes – Raisus Jul 29 '22 at 10:08

0 Answers0