Playwright
Playwright supports all modern rendering engines including Chromium, WebKit, and Firefox. Test on Windows, Linux, and macOS, locally or on CI, headless or headed. Playwright waits for elements to be actionable prior to performing actions. It also has a rich set of introspection events. The combination of the two eliminates the need for artificial timeouts - the primary cause of flaky tests. Playwright assertions are created specifically for the dynamic web. Checks are automatically retried until the necessary conditions are met. Configure test retry strategy, capture execution trace, videos, screenshots to eliminate flakes. Browsers run web content belonging to different origins in different processes. Playwright is aligned with the modern browsers architecture and runs tests out-of-process. This makes Playwright free of the typical in-process test runner limitations.
Learn more
PhantomJS
PhantomJS is a headless web browser scriptable with JavaScript, running on Windows, macOS, Linux, and FreeBSD. Utilizing QtWebKit as its back-end, it offers fast and native support for various web standards, including DOM handling, CSS selectors, JSON, Canvas, and SVG. This makes it an optimal solution for tasks such as page automation, screen capture, headless website testing, and network monitoring. For example, a simple script can load a webpage and capture it as an image.
Learn more
HtmlUnit
HtmlUnit is a "GUI-Less browser for Java programs" that models HTML documents and provides an API to interact with web pages, such as invoking pages, filling out forms, and clicking links, similar to a standard web browser. It offers fairly good JavaScript support, which is constantly improving and is capable of handling complex AJAX libraries, simulating browsers like Chrome, Firefox, or Edge depending on the configuration used. Typically used for testing purposes or retrieving information from websites, HtmlUnit is not a generic unit testing framework but is intended to simulate a browser within another testing framework such as JUnit or TestNG. It is utilized as the underlying "browser" by various open source tools like WebDriver, Arquillian Drone, and Serenity BDD, and is employed by many projects for automated web testing, including Apache Shiro, Apache Struts, and Quarkus.
Learn more
trifleJS
TrifleJS is a headless browser designed for test automation, utilizing the .NET WebBrowser class and the V8 JavaScript engine to emulate Internet Explorer environments. Its API is modeled after PhantomJS, making it familiar to users of that framework. TrifleJS supports various versions of Internet Explorer, allowing emulation of IE7, IE8, and IE9, depending on the installed version. Developers can execute scripts via the command line, specifying the desired IE version for emulation. The platform offers an interactive mode (REPL) for debugging and testing JavaScript code.
Learn more