Skip to content

shyiko/electron-har

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Stanley Shyiko 0.3.1
9911076

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
October 23, 2018 15:34
October 23, 2018 15:34
December 9, 2015 16:02
December 9, 2015 16:02
October 23, 2018 15:34
October 23, 2018 15:34
October 23, 2018 15:34
October 23, 2018 15:37
October 23, 2018 15:34
December 17, 2018 21:53

electron-har

A command-line tool for generating HTTP Archive (HAR) (based on Electron).

The data you get is identical to "Chromium -> Developer Tools -> Network pane -> Save All as HAR".

Installation

Prebuilt binaries can be found on the release(s) page.

You can also use npm:

npm install -g electron-har

In order for Electron to work on Debian/Ubuntu (specifically on Debian 8/Ubuntu 12.04) following packages have to be installed libgtk2.0-0 libgconf-2-4 libasound2 libxtst6 libxss1 libnss3.

Usage

NOTE for Linux users: you might need to --disable-gpu

# NOTE: on Linux --disable-gpu might be needed
electron-har http://google.com # writes HAR to stdout

# in case something doesn't look right / not working
ELECTRON_ENABLE_LOGGING=1 electron-har --disable-gpu --show http://google.com 2>electron.log

# in a headless environment (CI agent on Linux?) - xvfb-run will do just fine 
DISPLAY=:1 xvfb-run electron-har http://google.com -o google_com.har

# to see a complete list of command line options
electron-har --help

... or pragmatically

const electronHAR = require('electron-har')

electronHAR('http://enterprise.com/self-destruct', {
  user: {
    name: 'jean_luc_picard',
    password: 'picard_4_7_alpha_tango'
  }
}, function (err, json) {
  if (err) {
    throw err
  }
  console.log(json.log.entries)
})

In a headless environment you might want to use kesla/headless (which will start Xvfb for you).

const headless = require('headless')
const electronHAR = require('electron-har')

(function (cb) {
  if (!process.env.DISPLAY) {
    headless(function (err, proc, display) {
      if (err) {
        return cb(err)
      }
      process.env.DISPLAY = ':' + display
      cb(null, proc)
    })
  } else {
    process.nextTick(cb)
  }
})(function (err, xvfb) {
  if (err) {
    throw err
  }
  electronHAR(..., function (err, json) {
    ...
    xvfb && xvfb.kill()
  })
})

License

MIT License

About

A command-line tool for generating HTTP Archive (HAR) (based on Electron)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •