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-hammerheadfoldercd 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
Read our Contributing Guide to learn how to contribute to the project.