sclevine / agouti

A WebDriver client and acceptance testing library for Go
MIT License
822 stars 105 forks source link

Failing webdriver session should be handled, not silently ignored. #211

Open Pierre-Felber opened 4 years ago

Pierre-Felber commented 4 years ago

Hi,

I was having issues when calling Page.Navigate() and got the error failed to navigate: failed request: invalid session id. After some digging in the code I got to the point where the session got initiated.

Here the response from the chromedriver:

HTTP/1.1 200 OK
Content-Length:503
Content-Type:application/json; charset=utf-8

{"sessionId":"51576e1fde8127c51faf316a072d9123","status":13,"value":{"message":"unknown error: Chrome failed to start: exited abnormally.\n  (unknown error: DevToolsActivePort file doesn't exist)\n  (The process started from chrome location /usr/lib64/chromium/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)\n  (Driver info: chromedriver=84.0.4147.89 (19abfe7bcba9318a0b2a6bc6634a67fc834aa592-refs/branch-heads/4147@{#852}),platform=Linux 5.7.9-1-default x86_64)"}}

As we can see, obviously the session is in some bad state and it would be nice to fail right here with the message from the chromedriver.

Instead failing at Page.Navigate(), fail me at Driver.NewPage() and the received message. The status 13 must mean something in the protocol, i guess.

Ciao Pierre

kesavabjs2 commented 3 years ago

We are also facing the same issue. :(