/testcafe-hammerhead

A powerful web-proxy used as a core for the TestCafe testing framework. :hammer: :smiley:

Primary LanguageJavaScriptMIT LicenseMIT

testcafe-hammerhead

testcafe-hammerhead is a powerful Web proxy used as a core for the TestCafe testing framework.

Core Concepts

testcafe-hammerhead is a URL-rewriting proxy. This means that it rewrites all properties of the appropriate JavaScript objects that contain a URL value (Location, HTMLLinkElement.href, etc). You can see it if you open a proxied page, invoke the browser's DevTools and inspect any element.

In addition, the proxied web page does not know that it is opened under a proxy. The proxy intercepts access attempts to all URL-containing properties and provides the original values.

First Look

  1. Clone the Hammerhead repository
    git clone https://github.com/DevExpress/testcafe-hammerhead.git
  2. Go to the testcafe-hammerhead folder
    cd testcafe-hammerhead
  3. Install the dependencies
    npm install
  4. Run the Hammerhead playground to see our proxy in action
    node node_modules/gulp/bin/gulp http-playground

This opens a playground page where you can specify a webpage to proxy. Enter the page URL and hit Proxy!.

Features

  • HTTP/HTTPS requests
  • WebSockets, EventSource
  • file upload
  • request events (onRequest, onResponse)
  • bypassing requests
  • custom UI on a web page

Reporting Issues and Contributing

Read our Contributing Guide to learn how to contribute to the project.

Build Status

Sauce Test Status

Health Monitor