Need advice about which tool to choose?Ask the StackShare community!
Appium vs PhantomJS: What are the differences?
What is Appium? Automation for iOS and Android Apps. Appium is an open source test automation framework for use with native, hybrid, and mobile web apps. It drives iOS and Android apps using the WebDriver protocol. Appium is sponsored by Sauce Labs and a thriving community of open source developers.
What is PhantomJS? Scriptable Headless WebKit. PhantomJS (www.phantomjs.org) is a headless WebKit scriptable with JavaScript. It is used by hundreds of developers and dozens of organizations for web-related development workflow.
Appium can be classified as a tool in the "Mobile Testing Frameworks" category, while PhantomJS is grouped under "Headless Browsers".
Some of the features offered by Appium are:
- Works on native and hybrid mobile apps
- Write mobile tests using any language or framework
- Open source
On the other hand, PhantomJS provides the following key features:
- Multiplatform, available on major operating systems: Windows, Mac OS X, Linux, and other Unices.
- Fast and native implementation of web standards: DOM, CSS, JavaScript, Canvas, and SVG. No emulation!
- Pure headless (no X11) on Linux, ideal for continuous integration systems. Also runs on Amazon EC2, Heroku, and Iron.io.
"Webdriverio support" is the top reason why over 5 developers like Appium, while over 12 developers mention "Scriptable web browser" as the leading cause for choosing PhantomJS.
Appium and PhantomJS are both open source tools. PhantomJS with 26.9K GitHub stars and 5.7K forks on GitHub appears to be more popular than Appium with 9.66K GitHub stars and 3.94K GitHub forks.
According to the StackShare community, PhantomJS has a broader approval, being mentioned in 77 company stacks & 47 developers stacks; compared to Appium, which is listed in 31 company stacks and 21 developer stacks.
I am using Node 12 for server scripting and have a function to generate PDF and send it to a browser. Currently, we are using PhantomJS to generate a PDF. Some web post shows that we can achieve PDF generation using Puppeteer. I was a bit confused. Should we move to puppeteerJS? Which one is better with NodeJS for generating PDF?
You better go with puppeteer. It is basically chrome automation tool, written in nodejs. So what you get is PDF, generated by chrome itself. I guess there is hardly better PDF generation tool for the web. Phantomjs is already more or less outdated as technology. It uses some old webkit port that's quite behind in terms of standards and features. It can be replaced with puppeteer for every single task.
I suggest puppeteer to go for. It is simple and easy to set up. Only limitaiton is it can be used only for chrome browser and currently they are looking into expanding into FF. The next thing is Playwright which is just a scale up of Puppeteer. It supports cross browsers.
Pros of Appium
- Webdriverio support12
- Java, C#, Python support6
- Open source3
- Great GUI with inspector2
- Active community2
- Support android test automation1
- Internal API access1
- Support iOS test automation1
Pros of PhantomJS
- Scriptable web browser13
- Depends on QT3
- No ECMAScript 62