K
K
krll-k2014-08-19 00:44:04
linux
krll-k, 2014-08-19 00:44:04

What is the advantage of phantomjs over selenium?

What is the advantage of phantomjs over selenium?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
V
Vasya Pupkin, 2014-12-13
@krll-k

PhantomJS is a completely headless browser, does not require X11 Server or DXGI, thus consumes less resources and works an order of magnitude faster (but slower than ZombieJS of course). The disadvantages are the lack of Flash support, the old version of the V8 JavaScript engine, the old version of Webkit - from the last two reasons it follows that there is no support for new HTML5 technologies - which means that not all sites work correctly. Things are even worse in ZombieJS, it does not work with many sites at all, i.e. not suitable for parsing, it may be suitable for testing, but get ready for the fact that you have to debug ZombieJS itself.
Selenium can work with completely headless browsers PhantomJS, SlimerJS, TrifleJS, ZombieJS, as well as with regular browsers Chrome, Firefox, Opera, Internet Explorer (the latter consume a lot of resources and usually set up a Selenium farm). In this case, a single protocol for communicating with browsers JsonWireProtocol (Webdriver Protocol) is used through the extension or through their control modules (xul-runner). Thus, one code is written not tied to a specific browser, but is tested in several browsers. But of course, each browser has its own characteristics and Selenium does not cover them, and therefore you still have to add a layer of compatibility code for each browser. If the tests are simple: fill in the fields, check the box, add a file, click on the button or link here, then Selenium will do.
Roughly speaking, on PhantomJS, 99% of sites will work like in Chrome, but 1% of sites will work with errors. But as far as I understand, this is only important if you are trying to scrape one of the sites that fall into this 1% :)
If your company is small, then I recommend lightweight technologies ZombieJS, PhantomJS, Mocha, if your company is large, there is a large staff of system administrators, team leaders, architects, I recommend heavyweight scalable Docker, Vagrant, Selenium, Jenkis CI technologies.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question