PhantomJS Web Driver crashes - java

I am working with Automation of Web application using Selenium+PhantomJS and I am facing an issue when trying to execute an JAVA Selenium script.
PhantomJS crashes and I get a popup as shown below can anyone suggest the reason for the same.
Log just before crashes is an mentioned below
[INFO - 2016-05-06T11:30:52.538Z] SessionManagerReqHand -
_cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
and below screen appears can anyone let me know why PhantomJS crashes and I am not quiting the browser and have few more steps to perform and it crashes and terminates.
Any pointers highly appreciated.

My suggestion is to use the latest phantom browser version and with correct driver. I remember some issue with driver update so I had to use fork about 6 months ago not sure if that is still the case.
here is the driver dependency I used
com.codeborne
phantomjsdriver
1.2.1
org.seleniumhq.selenium
selenium-remote-driver

Related

Issue with late version of selenium web driver

I have a selenium java project but I have an unsual error after some weeks not working on the project.
After searching on internet, most people said it was related to the chrome driver version. This seems weid, because I use the "io.github.bonigarcia.wdm.WebDriverManager" package to handle chrome version (and as you can see, I used the 103 chrome driver version).
After downloading the next version, and use:
"System.setProperty("webdriver.chrome.driver", "C:\Users\path\webdriver\chromedriver-104.exe");" the browser even fail to open, and it print me this error message.
But it seems the version is still 103 for my "personnal" chrome browser. I tried to update it, but it remains 103..
I tried to download the 104, but it act "beta chrome"...
What am I supposed to? Is there anyone else having issue with chrome selenium lately? Is there a work around? Can someone explain why selenium even bother to know the version of my work chrome?
The bug is actually in version 103 of the Chrome browser, not chromedriver. See https://bugs.chromium.org/p/chromedriver/issues/detail?id=4121 .
I have been able to mostly work around this by adding Thread.Sleep()'s (in C#) ranging from a fraction of a second to a few seconds, before the Selenium calls which fail.

Selenium web driver moveToElement (Actions) throwing error with marionette driver?

Getting following error in selenium tests
POST /session/ee1b9201-dadc-7446-b753-0a418a230d30/moveto did not match a known command
What i've done is
Actions resetView = new Actions(driver);
resetView.moveToElement(el).perform();
Environment:
Firefox v47.0
Webdriver 3.0.0-beta2
This is entirely expected. No releases of GeckoDriver (Marionette) support the Actions class. It is one of the top priorities of Mozilla's team developing Marionette.
There is an issue that Selenium tracks, that is blocked by the Marionette issue.
Since the issue it's over 3 weeks old, and looking at their commit log, I wouldn't hold my breath for a patch anytime soon.
If you can use Firefox 47.0.1, because in Firefox 47.0 they had another bug, you can use the old WebDriver API that works (not Marionette). From 48 it stopped working, because you're supposed to use Marionette. Yes, that Marionette that is not finished.
If you must test on Firefox, I recommend you should stick to Firefox 47.0.1, Selenium 2.latest, eventually throw them in a docker image, and run like that.
That's what I do at least for Germanium, until it will hopefully eventually work also for Marionette.

Gecko Driver 0.9 Firefox hangs after driver.get

I am using Firefox Developer Edition 49.0a2 and I am able to open the web browser but after driver.get("example.website.com") executes, it just loads the page and hangs there. The test does not fail or error out.
I've tried using Marionette Driver and it doesn't even interact with the browser. I have also tried the different variations of the constructor such as FirefoxDriver(FFbinary, FFprofile, FFcapabilities) and the others that only require one or two of the parameters in all possible permutations. The developer edition of Firefox is where I get the best results as Firefox 47.0 is explicitly not supported.
i face the same issue so i tried to update the Windows OS and checked again
it worked fine for me.
Gecko driver might not be compatible if we do not update OS as well
Check it once if it help

Strange crash opening Firefox (only on work machine)

I've got a little test suite working on my laptop which I've tried to transfer over to my work desktop. To, hopefully, make things easier, I used the same version of Java and maven. However, typically, it's not been so easy :)
When I started Firefox, I got a "Firefox has stopped working" message box. The message box indicated the issue lay with "xul.dll" - so I closed the box and Firefox opened. It does this everytime I open Firefox.
I have even stripped out all my allure and other code and just ran a simple case:
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.co.uk");
However this doesn't work either.
It was then I checked the versions of Firefox were the same, turns out they weren't - but the Firefox updated fixed that. But my test still passes on the laptop, but fails on the desktop. I can't see anything I have missed, I can see one possible issue - the work desktop has Kaspersky installed.
Has anyone ever experienced what I've described?
I have also observed that antivirus causes the Firefox to hang during the launch. Try disabling the antivirus and rerun your script to verify that in your case also the antivirus/firewall is causing the issue.
Check the version of Firefox on both computers. I have two Windows machines with Selenium 2.45.0. One machine has Firefox 37.0.2 and the code below executes fine. The other machine I just updated to Firefox 38.0.1 and I receive that error message box.
#Test
public void testFirefoxDriver() throws Throwable
{
new FirefoxDriver();
}
I've been using Selenium for over a year now. Our production server automatically updates Firefox and this occasionally causes incompatibilities between Firefox and Selenium. I would expect to see a new Selenium release very soon.
Firefox 38.x is not supported by Selenium 2.45.1. Either you have to roll back your firefox to 37.x or wait until next revision of Selenium.
https://github.com/SeleniumHQ/selenium/issues/437
I've got this same issue. Funnily enough it was working yesterday morning I started getting it yesterday afternoon and now it appears to be messing up my tests.
I have Selenium 2.45.0 & Firefox 38.0.1.
My tests were running perfectly before this started happening and nothing has changed in my code. I've also ran another test suite just to make sure that it wasn't the one I was working on. The same thing happened.
I've just uninstalled firefox downloaded the previous version and they now work again with no crash.

PhantomJS and Selenium Webdriver - How to clear session

I'm using Selenium Webdriver (Java) and PhantomJS to test a complex JS driven website. My problem is, that the PhantomJS browser keeps the session between two tests which leads to errors in the test setup.
If I run the tests with Firefox everything works fine because Firefox uses a clean session for every test case.
My first attempt to solve the problem was to just clear the local storage by JS injection. Cookies are deleted by the Selenium exposed API driver.manage().deleteAllCookies();
But executing JavaScript without visiting a page is not allowed. So starting the browser at "about:blank" leads to an error.
So, how do I configure my phantomjs webdriver to clear the session?
I'm using phantomjs and webdriver because the selenium-grid services turned out to be not stable enough. So I start my phantomjs instance like that:
phantomjs --webdriver=1234
The fact that PhantomJS keeps sessions between tests is a known problem in GhostDriver, the Selenium Webdriver implementation in PhantomJS.
I suppose that this problem will be fixed with the PhantomJS 2 release. The bug is already fixed in GhostDriver 1.1.1, but there is no PhantomJS version which includes this GhostDriver version.
I know that Selenium Grid has a "cleanSession" option if you use GhostDriver. Also, I am pretty sure the regular WebDriver class has a option for this on a local WebDriver instance:
driver.manage().deleteAllCookies();
The version 2.0 of PhantomJS fix this issue. If you have a Linux Enviroment, you need clone the sources and compile, like this:
git clone git://github.com/ariya/phantomjs.git
cd phantomjs
git checkout 2.0
./build.sh
More info here

Categories