Public Repository

Last pushed: 2 years ago
Short Description
Retrieve network activity for a http request in HAR format. Based on Nightmarejs / electron
Full Description

Public Github Repo containing the full documentation.

Use cases

  • integration testing (are specific requests being made? how often?)
  • performance testing (HAR contains detailed timing information of the network requests)
  • getting page weight, number of js / css / ajax / font / ... requests


docker run --rm alexbardas/network-har [options]

Gain access inside the container:

docker run -it --entrypoint=/bin/bash --rm alexbardas/network-har
root@containerid:/src# ./ [options]


The (docker's image entrypoint) can be used to headlessly retrieve the network information in a CI step which is based on the alexbardas/network-har docker image.

Jq command line JSON preprocessor is already installed on the provided docker image, so the json HAR output can be very easily parsed inside the container.


The following commands can be interchangeable, but they depend on the executing environment:

  • docker run --rm alexbardas/network-har [options] (if docker is installed)
  • ./ [options] (inside a docker container created from the provided image. Useful in a CI step)



Prints detailed help information.

docker run --rm alexbardas/network-har --help
--url string (required)

The website for which the har information is needed.

docker run --rm alexbardas/network-har \
--header string:string (optional, default: none)

Additional headers to be added to the http request. Can be used multiple times.

docker run --rm alexbardas/network-har \
  --url \
  --header "Cache-Control:no-cache" \
  --header "Accept-Language:en-us"
--retries number (optional, default: 2)

Number of maximum retries for getting the network HAR in case the the command fails with a network error. Useful because electron can have intermittent network failures.

docker run --rm alexbardas/network-har \
  --url \
  --retries 3
--useragent string (optional, default: none)

Overrides default electron useragent with a new value.

docker run --rm alexbardas/network-har \
  --url \
  --useragent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2860.0 Safari/537.36"
--viewport number,number (optional, default: 375,667)

Overrides default electron viewport with new values.

docker run --rm alexbardas/network-har \
  --url \
  --viewport 1366,768
--wait number (optional, default: 5000)

Waits for the specified number of ms after the request is made until retrieving the network information.

docker run --rm alexbardas/network-har \
  --url \
  --wait 10000
--wait string (optional, default: none)

Waits for a specific element defined by a string selector to be available in the DOM.

docker run --rm alexbardas/network-har \
  --url \
  --wait "#hnmain"


Retrieve the network HAR for hackernews for:

  • 1024x768 viewport
  • network-har useragent
  • Cache-Control: no-cache and Accept-Language: en-US headers
  • 10s wait time for network resources
  • 3 maximum retries
  • '#hnmain' waits for the element having this selector to be in the DOM
docker run --rm alexbardas/network-har \
  --url \
  --useragent "network-har" \
  --viewport 1024,768 \
  --header "Cache-Control:no-cache" \
  --header "Accept-Language:en-US" \
  --retries 3 \
  --wait "#hnmain"
Docker Pull Command