Phantomjs - Headless WebKit with JavaScript API

  •        1786

PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. It is an optimal solution for headless website testing. It run functional tests with frameworks such as Jasmine, QUnit, Mocha, Capybara, WebDriver, and many others.
It is capable to do screen capture. It could create web site screenshots with thumbnail preview. Automates performance analysis using YSlow and Jenkins.

http://phantomjs.org/
https://github.com/ariya/phantomjs

Tags
Implementation
License
Platform

   




Related Projects

Splinter - Python test framework for web applications


Splinter is an open source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items. Splinter is an abstraction layer on top of existing browser automation tools such as Selenium, PhantomJS and zope.testbrowser. It has a high-level API that makes it easy to write automated tests of web applications. It has drivers for Chrome and Firefox for browser-based testing, and zope.testbrowser and PhantomJS for headless testing.

trifleJS - Headless automation for Internet Explorer


A headless Internet Explorer browser using the .NET WebBrowser Class with a Javascript API running on the V8 JavaScript Engine. The API is coded as a port of PhantomJS. Basically, if you have used phantom before then you already know how to use TrifleJS.


Revenant - A high level PhantomJS headless browser in Node.js ideal for task automation


A headless browser powered by PhantomJS functions in Node.js. Based on the PhantomJS-Node bridge.This library aims to abstract many of the simple functions one would use while testing or scraping a web page. Instead of running page.evaluate(...) and entering the javascript functions for a task, these tasks are abstracted for the user.

CasperJS - Navigation Scripting & Testing Utility for PhantomJS


CasperJS is a navigation scripting & testing utility for PhantomJS. It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntaxic sugar for doing common tasks such as browsing navigation steps, filling & submitting forms, clicking & following links, capturing screenshots, logging events, etc

HtmlUnit - Java GUI-Less browser, supporting JavaScript, to run against web pages


A java GUI-Less browser, which allows high-level manipulation of web pages, such as filling forms and clicking links; just getPage(url), find a hyperlink, click() and you have all the HTML, JavaScript, and Ajax are automatically processed.

remote-browser - A low-level browser automation framework built on top of the Web Extensions API standard


Remote Browser is a library for controlling web browsers like Chrome and Firefox programmatically using JavaScript. You've likely heard of similar browser automation frameworks before, such as Puppeteer and Selenium. Much like these other projects, Remote Browser can be used to accomplish a wide variety of tasks relating to UI testing, Server Side Rendering (SSR), and web scraping. What makes Remote Browser different from these other libraries is that it's built using standard cross-browser compatible technologies, and its primary goal is to facilitate interactions with existing APIs rather than to create a new one of its own. Remote Browser provides a minimalistic and lightweight framework for automating browsers using vanilla JavaScript, HTML browsing contexts, and the Web Extensions API. If you're already familiar with these technologies, then you already know almost everything that you need to use Remote Browser. If not, then there are vast learning resources out there, like The Mozilla Developer Network (MDN), which can get you up to speed in no time. Be sure to check out the Introduction, the Interactive Tour, and Usage Examples to learn about how Remote Browser makes it easy to use these technologies.

HeadlessBrowsers - A list of (almost) all headless web browsers in existence


A web browser without a graphical user interface, controlled programmatically. Used for automation, testing, and other purposes.

loki - 👁 Visual Regression Testing for Storybook


There are a few visual regression tools for the web, but most either cannot be run headless or use phantomjs which is deprecated and a browser nobody is actually using. They usually also require you to maintain fixtures. With react-native it's now possible to target multiple platforms with a single code base, but there's no single tool to test all to my knowledge. Loki aims to have easy setup, no to low maintenance cost, reproducible tests independent of which OS they are run on, runnable on CI and support all platforms storybook does.

Selenium - Web app testing tool


Selenium is a suite of tools such as Selenium IDE, Selenium Remote Control and Selenium Grid to test the web application. Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. It supports record and playback.

nightmare - A high-level browser automation library.


Nightmare is a high-level browser automation library from Segment. The goal is to expose a few simple methods that mimic user actions (like goto, type and click), with an API that feels synchronous for each block of scripting, rather than deeply nested callbacks. It was originally designed for automating tasks across sites that don't have APIs, but is most often used for UI testing and crawling.

Beef - Browser Exploitation Framework


BeEF is short for The Browser Exploitation Framework. It is a penetration testing tool that focuses on the web browser. BeEF allows the professional penetration tester to assess the actual security posture of a target environment by using client-side attack vectors. Unlike other security frameworks, BeEF looks past the hardened network perimeter and client system, and examines exploitability within the context of the one open door: the web browser.

grunt-mocha - [MOVED] Grunt task for running mocha specs in a headless browser (PhantomJS)


Disqus has adopted this project and npm module, visit https://github.com/disqus/grunt-mocha for further updates. This plugin requires Grunt ~0.4.0. Use a 0.1.x tag of this plugin to use with Grunt ~0.3.0.

Linux Desktop Testing Project


Linux Desktop Testing Project is aimed at producing high quality test automation framework (using GNOME / Python) and cutting-edge tools that can be used to test Linux Desktop and improve it. It uses the Accessibility libraries to poke through the application's user interface. We strive to help in building a quality desktop.

qunit - An easy-to-use JavaScript Unit Testing Framework


QUnit is a powerful, easy-to-use, JavaScript unit testing framework. It's used by the jQuery project to test its code and plugins but is capable of testing any generic JavaScript code (and even capable of testing JavaScript code on the server-side).