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 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 other browser, Chrome for example, 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:
- I don't need to have a separate copy of GhostDriver (PhantomJS driver) as it is embedded into PhantomJS itself. That is fine.
I do have to register the node using phantomjs itself like that for example:
phantomjs --webdriver=8080 --webdriver-selenium-grid-hub=http://127.0.0.1:4444
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).