Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DevExpress/testcafe-hammerhead
A powerful web-proxy used as a core for the TestCafe testing framework. :hammer: :smiley:
https://github.com/DevExpress/testcafe-hammerhead
proxy proxy-server testcafe
Last synced: 3 months ago
JSON representation
A powerful web-proxy used as a core for the TestCafe testing framework. :hammer: :smiley:
- Host: GitHub
- URL: https://github.com/DevExpress/testcafe-hammerhead
- Owner: DevExpress
- License: mit
- Created: 2015-06-04T16:56:53.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-11T10:24:56.000Z (4 months ago)
- Last Synced: 2024-07-27T17:08:12.728Z (3 months ago)
- Topics: proxy, proxy-server, testcafe
- Language: JavaScript
- Homepage: https://testcafe.io
- Size: 8.76 MB
- Stars: 165
- Watchers: 24
- Forks: 157
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-list - testcafe-hammerhead - proxy used as a core for the TestCafe testing framework. :hammer: :smiley: | DevExpress | 126 | (JavaScript)
README
# testcafe-hammerhead
`testcafe-hammerhead` is a powerful Web proxy used as a core for the [TestCafe](https://github.com/devexpress/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
```cmd
git clone https://github.com/DevExpress/testcafe-hammerhead.git
```
1. Go to the `testcafe-hammerhead` folder
```cmd
cd testcafe-hammerhead
```
1. Install the dependencies
```cmd
npm install
```
1. Run the [Hammerhead playground](https://github.com/DevExpress/testcafe-hammerhead/blob/master/test/playground/server.js) to see our proxy in action
```cmd
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](https://github.com/DevExpress/testcafe-hammerhead/blob/master/CONTRIBUTING.md) to learn how to contribute to the project.
[![Build Status](https://img.shields.io/github/checks-status/DevExpress/testcafe-hammerhead/master?label=Tests)](https://github.com/DevExpress/testcafe-hammerhead/commits/master)
[![Sauce Test Status](https://saucelabs.com/browser-matrix/testcafebot.svg)](https://saucelabs.com/u/testcafebot)
[![Health Monitor](http://4.227.198.23:13500/badge/last-commit.svg)](http://4.227.198.23:13500/)