@sdet/testcafe-hammerhead

Fork from https://github.com/DevExpress/testcafe-hammerhead

Usage no npm install needed!

<script type="module">
  import sdetTestcafeHammerhead from 'https://cdn.skypack.dev/@sdet/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

  • If your website works differently with and without a proxy, create an issue.
  • If you find a problem, please provide a public link to your website or create a simple example to reproduce it.
  • All PRs with bug fixes should contain tests (there may be rare exceptions)

Build Status

Sauce Test Status

Health Monitor