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
- Clone the Hammerhead repository
git clone https://github.com/DevExpress/testcafe-hammerhead.git
- Go to the
testcafe-hammerhead
foldercd testcafe-hammerhead
- Install the dependencies
npm install
- 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.