I am trying to set up one of my Selenium Grid nodes using PhantomJS. (The rest of the nodes are all working fine with Firefox browsers)

Now generally, when we configure a node, we launch a selenium-standalone-server-<VERSION>.jar and apply a configuration we want for that specific node using a command line or using json configuration file. In case we want to use FirefoxDriver, we don't need to do anything else. If we want to use another browser, For example Chrome, we will just place a ChromeDriver executable on the node machine. So far so good.

Now when I am reading the instructions for PhantomJS configuration I see that:

  1. I don't need to have a separate copy of GhostDriver (PhantomJS driver) as it is embedded into PhantomJS itself. That is fine.
  2. I do have to register the node using phantomjs itself like that for example:

    phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=

    rather than using the selenium-standalone-server-<VERSION>.jar, like for any other browser.

That's what seemed a bit unusual to me. Why is that different for PhantomJS? Does that mean that selenium server is somehow embedded into the phantomjs package as well?

I would expect to have same kind of configuration as with any other browser, meaning add a phantomjs as one of the available profiles into my nodeConfig.json file and have a phantomjs package sitting somewhere on the same node.

BTW, I still need to launch the selenium-standalone-server-<VERSION>.jar if I have other browser running on that node (which I do).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.