Skip to content

Extract response from .har file and create JSON mocks for mock server.

License

Notifications You must be signed in to change notification settings

sbimochan/har-to-mocks

 
 

Repository files navigation

har-to-mocks

What's new in this fork?

  • Added uniqueFiles argument option to create unique files for each XHR. This is helpful when you have varying API response depending in query params

Checkout har-diff that I created to test database migration assurance script which made me do this fork.

Extract response from .har file and create JSON mocks for mock server.

Version Downloads/week License

Install CLI

npm install -g har-to-mocks

or by npx

npx har-to-mocks [path to .har] [path mock/api folder] --dry-run

How does it work?

Inspect and filter requests in .har files

File can contain hundreds of requests so it's important to be able filter data. For filtering you can use flags:

  • (--url) for filtering by match in the url. Search is case sensitive
  • (-m, --method=GET --method=POST) for filter specific method. Supported: 'GET', 'POST', 'PUT', 'DELETE' and 'PATCH' methods. Default value is 'GET'.
  • (-t, --type=xhr) for filtering request type. Default value is 'xhr'

Video example: YouTube [email protected].

example:

$ har-to-mocks ./file.har --url=api/service  --method=GET

will display:

Filtered requests:

 Name                    Method Path
 ─────────────────────── ────── ───────────────────────────
 userRoles               GET    /api/service/userRoles
 currentUserId           GET    /api/service/currentUserId
 active                  GET    /api/service/clients/active

If output folder is not specified mocks will not be written.

Extract data from .har to mock/api folder

The second argument should be path to mock's folder. Export structure is prepared for mocks-to-msw which helps with integration with MSW (Mock Service Worker) and connect-api-mocker.

WARNING: When second argument is defined cli will write files. To avoid unwanted overwrite use --dry-run flag to skip writing part of process.

example:

$ har-to-mocks ./file.har ./mocks --url=api/service  --method=GET --dry-run

will display:

Filtered requests:

 Name                    Method Path
 ─────────────────────── ────── ───────────────────────────
 userRoles               GET    /api/service/userRoles
 currentUserId           GET    /api/service/currentUserId
 active                  GET    /api/service/clients/active

Folder tree which will be applied:

└─ mocks
   └─ api
      └─ service
         ├─ userRoles
         │  └─ GET.json
         ├─ currentUserId
         │  └─ GET.json
         └─ clients
            └─ active
               └─ GET.json

No files were written. If you want to write files remove the (--dry-run) flag.

About

Extract response from .har file and create JSON mocks for mock server.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 94.8%
  • JavaScript 5.0%
  • Batchfile 0.2%