webpagetesttool

1.0.4 • Public • Published

#Web Page Test Tool - Node.js module

##Why?

We needed a wrapper for the existing WebPageSpeedTest node tool that could: a) persist tests to Amazon SimpleDb and b) export data to HostedGraphite and c) check up on existing tests

Since web page testing via the WPST API is asynchronous and not guaranteed to be run instantly, we needed a way to be able to schedule a test run and go back later to retrieve the results. A single run of this tool will check the entire SimpleDb domain for existing tests and retrieve their results, schedule a test for the given URL AND export results to HostedGraphite. Whilst it's not really extensible and will only write out to these two storage providers, you could fairly easily switch them out for similar storage technologies. Pluggable writers are not planned for this.

##Install

Install via npm

npm install @aoldevteam/webPageTestTool

##Usage

var wpst = require('@aoldevteam/webPageTestTool');

wpst.start(opts, function(err){
	console.log("Tool finished run.")
});

##Options

The opts variable should be an associative array like so:

opts = {
	accessKey: "Your AWS SimpleDB access key",
	secretKey: "Your AWS SimpleDB secret key",
	domain: "The AWS SimpleDB domain you want to store scheduled test details to",
	webPageTestApiKey: "The WPT API key (get one from http://www.webpagetest.org/getkey.php)",
	urlToTest: "www.appliancesonline.com.au",
	testLocation: "ec2-ap-southeast-2:Chrome",
	loggingLevel: "info",
	testName: "AOLHome",
	hostedGraphiteKey: "Your HostedGraphite API key"
}

Notes:

  • testName should be a name unique to the URL you are testing; you could use it to test different sections of your website and track over time in HostedGraphite.
  • all fields are required.

##Tests

###Running tests

Unit level tests are written using the Jasmine test runner, and stored as spec files in ./spec. You can run them via the command line:

npm test

###Code coverage

Get a code coverage report using Istanbul.

istanbul cover ./node_modules/jasmine-node/bin/jasmine-node spec/*.js

Readme

Keywords

none

Package Sidebar

Install

npm i webpagetesttool

Weekly Downloads

0

Version

1.0.4

License

ISC

Last publish

Collaborators

  • aoldevteam