Skip to content

A powerful web-proxy used as a core for the TestCafe testing framework. 🔨 😃

License

Notifications You must be signed in to change notification settings

DevExpress/testcafe-hammerhead

Folders and files

NameName
Last commit message
Last commit date

Latest commit

BayheckBayheck
and
Bayheck
Feb 12, 2025
0ffecaa Â· Feb 12, 2025
Feb 4, 2025
Nov 4, 2024
Feb 12, 2025
Feb 12, 2025
Dec 19, 2023
Aug 31, 2015
Nov 2, 2015
Apr 25, 2022
Feb 8, 2019
Aug 3, 2023
May 18, 2020
Feb 17, 2020
Jan 19, 2021
Sep 26, 2024
Mar 16, 2022
Jun 9, 2023
Feb 12, 2025
Feb 12, 2025
Mar 11, 2021
May 19, 2021

Repository files navigation

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