Hi,
I’m facing an issue running tests on Microsoft Edge using Selenium in my Jenkins pipeline. While the same setup works perfectly fine with Chrome, I encounter the following error with Edge:
[ERROR] Tests run: 20, Failures: 10, Errors: 0, Skipped: 10, Time elapsed: 5.046 s <<< FAILURE! -- in TestSuite
[ERROR] com.cloudlex.testcases.IntakeDetailForms.PIAndMVA.PiAndMvaDetailsMemoTest.browserSetUp[prod](0) -- Time elapsed: 3.188 s <<< FAILURE!
org.openqa.selenium.SessionNotCreatedException:
Could not start a new session. Response code 500. Message: session not created: Microsoft Edge failed to start: crashed.
(session not created: DevToolsActivePort file doesn't exist)
(The process started from msedge location C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe is no longer running, so msedgedriver is assuming that msedge has crashed.)
Host info: host: 'DESKTOP-S0D4Q0D', ip: '192.168.1.7'
Build info: version: '4.27.0', revision: 'd6e718d134'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.13'
Driver info: org.openqa.selenium.edge.EdgeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: MicrosoftEdge, ms:edgeOptions: {args: [--disable-gpu, --disable-extensions, --window-size=1920,1080], excludeSwitches: [enable-automation], extensions: [], prefs: {profile: {managed_default_content_settings: {geolocation: 2, media_stream: 1, notifications: 2}}}}}]}]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:114)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:61)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:162)
at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:216)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:174)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:245)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:174)
at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:114)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:60)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:56)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:48)
at com.cloudlex.utility.BrowserFactory.launchBrowser(BrowserFactory.java:71)
at com.cloudlex.TestComponents.BaseClass.browserSetUp(BaseClass.java:53)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:69)
at org.testng.internal.invokers.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:361)
at org.testng.internal.invokers.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:296)
at org.testng.TestRunner.invokeTestConfigurations(TestRunner.java:643)
at org.testng.TestRunner.beforeRun(TestRunner.java:632)
at org.testng.TestRunner.run(TestRunner.java:594)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:433)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:471)
at org.testng.internal.thread.ThreadUtil.lambda$execute$0(ThreadUtil.java:58)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Code from my Repo
else if(browserName.toLowerCase().equals("edge")){
WebDriverManager.edgedriver().setup();
EdgeOptions options = new EdgeOptions();
options.setExperimentalOption("excludeSwitches",new String[] {"enable-automation"});
options.setExperimentalOption("prefs", prefs);
options.addArguments("--disable-gpu");
options.addArguments("--disable-extensions");
options.addArguments("--window-size=" + 1920 + "," + 1080);
driver = new EdgeDriver(options);
}
pom file dependency
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.9.2</version>
</dependency>