Intermittent error in webdriver start up - using WebDriverManager - selenium-webdriver

System.InvalidOperationException : Could not start a new session. Error while creating session with the driver service. Stopping driver service: Could not start a new session. Response code 500. Message: Process unexpectedly closed with status 0
Build info: version: '4.1.2', revision: '9a5a329c5a'
System info: host: 'a9efa94d3168', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-1052-aws', java.version: '11.0.13'
Driver info: driver.version: unknown
I have seen other articles referencing this error and they state that the Chrome driver version and the browser version must be the same. I am using WebDriverManager, which is supposed to ensure that they are the same.
I am running the code in a Gitlab pipeline - it is running in a docker container on Linux.
I only get this error occasionally. If it was a problem with my code set up I would expect to get it on every run.

Related

Jenkins+Docker+Grid Execution - UnreachableBrowserException: Could not start a new session

While executing my suite dynamically on grid using Docker-compose through Jenkins, I am getting the following exception stacktrace:
org.openqa.selenium.remote.DesiredCapabilities firefox
INFO: Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: '49d4c6ec544d', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '5.10.25-linuxkit', java.version: '1.8.0_292'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:573)
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 WebdriverBase.GridDriverManager.setDriver(GridDriverManager.java:144)
at WebdriverBase.GridDriverManager.getDriver(GridDriverManager.java:115)
at stepdefinition.PurchaseWorkflow.init(PurchaseWorkflow.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
My docker-compose.yml file:
My Hub URL : "http://selenium-hub:4444/wd/hub"
When executing the same code on local system everything is working fine on Docker container. Problem arises only when I trigger my test from Jenkins.
This is an old thread but hoping to help anyone out here, not an exact answer as I am just using the standalone browser of selenium but I have the
http://service-name:4444/wd/hub
working in my file.
await new Builder()
.setChromeOptions(options)
.forBrowser("chrome")
.usingServer("http://selenium:4444/wd/hub/")
.build();
Make sure in your docker-compose.yaml file to also use a link in the other service. for example
services:
web:
build:
context: ./web
links:
- selenium
ports:
- "443:443"
Try witch shm_size: 2gb in volumes

Protractor Not Running because of Firewall?

I'm trying to get Protractor working on Windows Server 2016. Using the tutorial on official protractor website, I've got it working on my laptop at home running Windows 10 and a work VM running Windows 7. I have local admin rights on all three. The work VM running Server 2016 just fails with error below when I run the conf.js
[16:36:25] I/launcher - Running 1 instances of WebDriver
[16:36:25] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
[16:36:45] E/launcher - Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'APC', ip: 'x.x.x.x', os.name: 'Windows Server 2016', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_231'
Driver info: driver.version: unknown
[16:36:45] E/launcher - WebDriverError: Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'APC', ip: 'x.x.x.x', os.name: 'Windows Server 2016', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_231'
Driver info: driver.version: unknown
at Object.checkLegacyResponse (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:546:15)
at parseHttpResponse (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:509:13)
at C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:441:30
at processTicksAndRejections (internal/process/task_queues.js:93:5)
From: Task: WebDriver.createSession()
at Function.createSession (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:769:24)
at Function.createSession (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\chrome.js:761:15)
at createDriver (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\index.js:170:33)
at Builder.build (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\index.js:626:16)
at Hosted.getNewDriver (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\built\driverProviders\driverProvider.js:53:33)
at Runner.createBrowser (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\built\runner.js:195:43)
at C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\built\runner.js:339:29
at _fulfilled (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:834:54)
at C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:863:30
at Promise.promise.promiseDispatch (C:\Users\btime\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:796:13)
[16:36:45] E/launcher - Process exited with error code 199
The Server 2016 machine is an Azure Cloud VM. The Win7 machine is on-prem. Is this error any indication of a Firewall setting or something being blocked? I've been playing around with this for a few days and can't seem to figure it out. I know my company are all moving to Windows 10 eventually but my server would stay Server 2016 and we'd like to be able to make use of protractor for e2e testing of AngularJS and Angular 2+ apps.

Getting "Error: read ECONNRESET" on reseting and launching the app

I am getting the following error on resetting the app [driver.resetApp()] and on launching the app on Appium (version: 1.4.16.1). I am using Java.
Eclispe console
org.openqa.selenium.WebDriverException: chrome not reachable
(Session info: chrome=50.0.2661.86)
(Driver info: chromedriver=2.18.343845 (73dd713ba7fbfb73cbb514e62641d8c96a94682a),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 2.08 seconds
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12'
System info: host: 'IN2084073W1', ip: '192.168.56.1', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_21'
*** Element info: {Using=id, value=password}
Session ID: 2968b7e9-948e-4b75-94ed-838d10a08c82
Driver info: io.appium.java_client.android.AndroidDriver
Capabilities [{platform=LINUX, app=C:/apk/appname.apk, javascriptEnabled=true, appActivity=.MainActivity, browserName=, networkConnectionEnabled=true, desired={newCommandTimeout=120, app=C:/apk/surveyorapp.apk, platformVersion=5.1, deviceName=TA93303Q2F, platformName=Android, appActivity=.MainActivity, browserName=, appPackage=com.axa.surveyorapp}, locationContextEnabled=false, appPackage=com.axa.surveyorapp, newCommandTimeout=120, platformVersion=5.1, databaseEnabled=false, deviceName=TA93303Q2F, platformName=Android, webStorageEnabled=false, warnings={}, takesScreenshot=true}]
Appium Log
error: Could not proxy command to remote server. Original error: Error: read ECONNRESET
error: Chromedriver: Chromedriver exited unexpectedly with code 3221225477, signal null
info: Chromedriver: Changed state to 'stopped'
warn: Chromedriver for context WEBVIEW_com.clientname.appname stopped unexpectedly
error: Chromedriver quit unexpectedly during session
Update
Thanks for the update Emna. I have tried your option.
Can you please let me know how exactly I need to add this. I am using AndroidDriver not AppiumDriver. I have tried with both, but I'm getting below error.
Try to use :
(AppiumDriver)driver.resetApp();
Instead of :
driver.resetApp();
You can have a look into this link: Appium java-client
and use this link also to download ;)

Protractor - Safari - Timed out awaiting response to command "sendKeysToElement"

One of my E2E Test is failing only on Safari browser, when trying to send Text to an inputBox.
element(by.css('#content')).clear();
element(by.css('#content')).sendKeys("%20%DCben%20von%20Xylophonmusik%20qu%E4lt%20jeden%20gr%F6%DFeren%20Zwerg%20El%20ping%FCino%20Wenceslao%20hizo%20kil%F3metros%20bajo%20exhaustiva%20ll"); //UTF Text
Seeing following error in Webdriver manager console
18:40:12.150 INFO - Executing: [send keys: 16 [[SafariDriver: safari
on MAC (null)] -> css selector: #contentText],
[Falsches%20%DCben%20von%20Xylophonmusik%20qu%E4lt%20jeden%20gr%F6%DFeren%20Zwerg%20El%20ping%FCino%20Wenceslao%20hizo%20kil%F3metros%20bajo%20exhaustiva%20lluvia%20y%20%0A%200c%F4t%E9%20de%20l%27alc%F4ve%20ovo%EFde%2C%20o%F9%20les%20b%FBche%u0E40%u18:40:42.663
WARN - Exception thrown org.openqa.selenium.TimeoutException: Timed
out awaiting response to command "sendKeysToElement" after 30004 ms
(WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 30.02 seconds Build info: version:
'2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' System
info: host: 'vq-mac-dt-036.local', ip: '10.21.134.62', os.name: 'Mac
OS X', os.arch: 'x86_64', os.version: '10.9.5', java.version:
'1.8.0_31' Driver info: org.openqa.selenium.safari.SafariDriver
Capabilities [{browserName=safari, takesScreenshot=true,
javascriptEnabled=true, version=7.0.6, cssSelectorsEnabled=true,
platform=MAC, secureSsl=true}] Session ID: null at
sun.reflect.GeneratedConstructorAccessor57.newInstance(Unknown Source)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.openqa.selenium.remote.ErrorHandler.createThrowa18:40:42.664
WARN - Exception: Timed out awaiting response to command
"sendKeysToElement" after 30004 ms (WARNING: The server did not
provide any stacktrace information) Command duration or timeout: 30.02
seconds
This test is working in Firefox, Chrome Browsers. I can't find any open issue related to safari driver.
Could you please advise, how to resolve this.
Thanks in advance.
Try chaining the clear, click and sendKeys functions on the input box to send the value. I don't think the UTF8 text should cause any problem. Here's how to do it -
var ele = element(by.css('#content'));
ele.clear().then(function(){
ele.click().then(function(){
ele.sendKeys("%20%DCben%20von%20Xylophonmusik%20qu%E4lt%20jeden%20gr%F6%DFeren%20Zwerg%20El%20ping%FCino%20Wenceslao%20hizo%20kil%F3metros%20bajo%20exhaustiva%20ll"); //UTF Text
});
});
Hope this helps.

Can't run Protractor with Safari

I'm trying to solve it for days, please help me!
I'm running my protractor tests using chrome, firefox and internet explorer, but when I try to run the same test in Safari, I get the following error:
ScriptTimeoutError: Timed out awaiting response to command "executeScript" after 30003 ms (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 30.08 seconds
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'
System info: host: 'myPC', ip: '192.168.0.12', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_45'
Driver info: org.openqa.selenium.safari.SafariDriver
Capabilities [{browserName=safari, takesScreenshot=true, javascriptEnabled=true, version=5.1.7, cssSelectorsEnabled=true, platform=WINDOWS, secureSsl=true}]
Session ID: null
The error comes when I try to get some url like browser.get('https://www.google.com'); I tried to run the same test in Safari in my colleague's macbook to see if the problem is my windows environment (and the older safari version 5.1.7) but had the same problem. I also tried to change the allScriptsTimeout and got the same problem, I tried many different configurations in my protractor configuration file and it didn't worked =(
I'm sure that I"m doing something wrong but have no ideia about what... I didn't found more information about this error.
Edit: There is a known issue (https://github.com/angular/protractor/issues/2111) about using protractor with safari

Resources