CLI tool to convert HAR file to expectations .json file which is ready for the Mock-Server
Exported .json file is then ready to be either further manually modified or sent to the Mock-Server as is.
You could use this tool to handle this easily from CLI.
npm install -g @bednarik_radek/har-to-expectations
To display CLI help run:
npx har -h
You should see something like this:
Usage: har [options] [command]
Options:
-h, --help display help for command
Commands:
convert <harPath> <jsonPath> <regex> converts .har file to .json file with expectations.
merge [options] <harPath> <jsonPath> <regex> merges new .har file into existing .json expectations file.
help [command] display help for command
- we have exported a HAR file from the browser to the
./har
folder - we want to convert it to the
./expectations
folder
npx har convert ./har/requests.har ./expectations/expectations.json "https://www.example.com"
This command will do the following:
-
read the
./har/requests.har
file and parse it to the JSON object with Har typings -
filter out all requests which are not matching the
https://www.example.com
regex -
convert the remaining requests to the JSON object as valid expectations
-
save the result to the
./expectations/expectations.json
file
This utility is not doing full .har
-to-.json
conversion. It is only converting the requests and responses from the .har. Also, it is only adding certain parts of to expectations from requests/responses, which are needed to use them as mocks.
-
request
- method
- pathname
- body, if it is present
- query parameters, if they are present
-
response
- status code
- response body, if it is present
-
we want to add new expectations to the existing .json file
-
if expectation alredy exists, we want to update the
httpResponse
part - thus updating the mocked values
npx har merge ./network-log.har ./existing-expectations.json --update
- provide:
LOG_LEVEL
ENV variable to set the log level. Default isinfo
LOG_ENABLED=true
ENV variable to enable logging. Default isfalse
. Logging is done only to console. It is pretty-printed.