I have a Selenium server 4 with Chrome and Firefox. Chrome works fine but as I try to run Firefox it throws me an error:
org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities {acceptInsecureCerts: true, browserName: firefox, marionette: true}
The Java code for driver is here:
String browser = System.getProperty("browser");
browser = browser == null || browser.equals("") ? CHROME : browser.toLowerCase();
System.setProperty("webdriver.gecko.driver", "/home/tatrytec/custom-scripts/selenium-server/geckodriver");
Configuration.remote = HUB_URL;
Configuration.browser = browser;
FirefoxOptions options = new FirefoxOptions();
options.setCapability("marionette",true);
options.setHeadless(true);
WebDriver driver = new RemoteWebDriver(options);
WebDriverRunner.setWebDriver(driver);
Here is the Jenkins stack trace:
Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities {acceptInsecureCerts: true, browserName: firefox, marionette: true}
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'vmi503579.contaboserver.net', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-70-generic', java.version: '11.0.10'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:87)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at services.WebDriverService.setDriver(WebDriverService.java:51)
at steps.BaseSteps.<clinit>(BaseSteps.java:43)
Here is Selenium server stack trace:
12:34:10.493 INFO [Distributor.newSession] - Session request received by the distributor:
{
"desiredCapabilities": {
"browserName": "firefox",
"moz:firefoxOptions": {
"args": [
"-headless"
],
"prefs": {
}
},
"marionette": true,
"acceptInsecureCerts": true
},
"capabilities": {
"firstMatch": [
{
"acceptInsecureCerts": true,
"browserName": "firefox",
"moz:firefoxOptions": {
"args": [
"-headless"
],
"prefs": {
}
}
}
]
}
}
1619433250551 geckodriver INFO Listening on 127.0.0.1:21294
1619433251262 mozrunner::runner INFO Running command: "/snap/bin/firefox" "--marionette" "-headless" "-foreground" "-no-remote" "-profile" "/tmp/rust_mozprofile8aLKtJ"
2021/04/26 12:34:13.167735 cmd_run.go:1003: WARNING: cannot start document portal: dial unix /run/user/0/bus: connect: permission denied
mkdir: cannot create directory '/run/user/1000': Permission denied
*** You are running in headless mode.
[GFX1-]: glxtest: libpci missing
[GFX1-]: glxtest: libEGL initialize failed
[GFX1-]: glxtest: Unable to open a connection to the X server
[GFX1-]: glxtest: libEGL initialize failed
[GFX1-]: No GPUs detected via PCI
12:35:11.436 WARN [SeleniumSpanExporter$1.lambda$export$0] - {"traceId": "276854ae3527ad1a0d5c4039f0580cec","spanId": "2c522f44eb54f30e","spanKind": "INTERNAL","eventTime": 1619433311373994495,"eventName": "exception","attributes": {
"driver.url": "http:\u002f\u002flocalhost:21294",
"exception.message": "Error while creating session with the driver service. Stopping driver service: Could not start a new session. Response code 500. Message: Connection refused (os error 111)\nBuild info: version: '4.0.0-beta-2', revision: 'Unknown'\nSystem info: host: 'vmi123456.contaboserver.net', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-70-generic', java.version: '11.0.10'\nDriver info: driver.version: unknown"
It seems something is wrong with permissions on the server. It says:
cannot start document portal: dial unix /run/user/0/bus: connect: permission denied
Have no idea what else should I set up to run.
This is common with firefox installed using snap you can uninstall snap version of firefox and install it with apt by
then
some references on this https://github.com/mozilla/geckodriver/issues/1877
https://askubuntu.com/questions/1334192/glxtest-libpci-missing-although-i-made-an-apt-install