Giter Club home page Giter Club logo

parrot-mocker-web's Introduction

parrot-mocker-web npm version Build Status Coverage Status License

中文文档

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)

How to use

1.Prepare

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.

2.Visit

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.

3.Mock

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.

Launch locally

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.

Tips

  • 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.

License

MIT

Acknowledgement

parrot-mocker-web's People

Contributors

chinesedfan avatar maxwin-z avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.