This project provides a simple mock server, which works with the Chrome plugin parrot-mocker.
Support:
- foward requests of pages(xhr/jsonp/fetch) to the real web server, or just mock
- list all forwarded requests
- config mock rules for different requests
Not support:
- cookie sensitive requests, because the plugin forwards requests with cookies of the page, instead of cookies of the request domain
- relative or local DNS parsed requests, because the mock server can not resolve them
HTTPS pages, unless the mock server is deployed with HTTPS(Solved by leancloud and now.sh)
Install Chrome plugin, parrot-mocker, so that your pages have the ablity to intercept requests and forward to this mock server. Other usages without the plugin can refer to parrot-mocker project.
For example, if deployed in leancloud, please open your Chrome browser and visit index page first. Other instances like now.sh are similar.
Then visit your test page, i.e. my demo, which will send 3 different requests(xhr/jsonp/fetch) after loaded.
In the plugin, input the mock server address and click the green button. The test page will reload automatically.
Now you will find that requests are forwarded to the mock server, which are also visiable at index page. If visiting other pages in the same domain, their requests will also be forwarded to this mock server.
Click any request in the list, and click 'Add'. Then this request is added to mock.
Open config page, now you can edit the mock data. Remember to click 'Apply' to really use the mock data.
Refresh your test page to check whether the mock is working correctly.
By default, the server is launched on main port 8080, and sub-ports 8442/8443. Sub-ports can be visited by http/https correspondingly. Because my https is self-certified, if your browser gives a warning, please continue to visit.
node ./server/index.js
Or you can specify the port by an environment variable.
PORT=8888 HTTP_PORT=9442 HTTPS_PORT=9443 node ./server/index.js
To use local server, you should visit and set local address as mock server in step 2, i.e. https://127.0.0.1:8080
, and other steps are similar with above.
- In order to handles redirections well, please make sure the server can also visit itself by the host address that you input in the Chrome plugin.
- jsoneditor, json editor