testcafe-hammerhead

A powerful web-proxy used as a core for the TestCafe testing framework (https://github.com/DevExpress/testcafe).

Usage no npm install needed!

<script type="module">
  import testcafeHammerhead from 'https://cdn.skypack.dev/testcafe-hammerhead';
</script>

README

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