testcafe-hammerhead
is a powerful Web proxy used as a core for the TestCafe testing framework.
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.
- 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!.
- HTTP/HTTPS requests
- WebSockets, EventSource
- file upload
- request events (
onRequest
,onResponse
) - bypassing requests
- custom UI on a web page
- 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)