From 6454ff17b7982efe13b76dbbacd9e7bcb4da10a9 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Tue, 25 Nov 2014 15:09:45 -0800 Subject: [PATCH 01/16] bump version to 0.3.0-alpha and change local server logic --- package.json | 4 ++-- setup/index.js | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 0c49723..cd7d1d9 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "nemo", - "version": "0.2.6", + "version": "0.3.0-alpha.1", "description": "Abstraction for automation test components", "scripts": { "test": "grunt" }, "dependencies": { - "selenium-webdriver": "~2.42.0", + "selenium-webdriver": "~2.44.0", "xunit-file": "~0.0.4", "async": "0.1.x", "nconf": "~0.6.7", diff --git a/setup/index.js b/setup/index.js index 7310cc9..db6eb0e 100644 --- a/setup/index.js +++ b/setup/index.js @@ -36,6 +36,7 @@ function Setup() { } var caps, tgtBrowser = nemoData.targetBrowser, + localServer = nemoData.localServer || false, customCaps = nemoData.serverCaps, serverUrl = nemoData.targetServer, serverProps = nemoData.serverProps, @@ -44,14 +45,13 @@ function Setup() { function getServer() { log('attempt getServer'); - if (serverProps && (serverUrl.indexOf('127.0.0.1') !== -1 || serverUrl.indexOf('localhost') !== -1)) { - log('attempt server startup'); - //chrome and phantomjs are supported natively. i.e. no webdriver required. chromedriver or phantomjs executables must be in PATH though + //are we running the tests on the local machine? + if (!!localServer) { if (tgtBrowser !== 'chrome' && tgtBrowser !== 'phantomjs') { //make sure there is a jar file var jarExists = fs.existsSync(serverJar); if (!jarExists) { - throw new Error('You must specify a valid SELENIUM_JAR value. The value must point to a driver executable in your file system.'); + error('You must specify a valid SELENIUM_JAR value. The value must point to a driver executable in your file system.'); } var server = new SeleniumServer(serverJar, serverProps); server.start(); @@ -60,6 +60,22 @@ function Setup() { serverUrl = null; } } +// if (serverProps && (serverUrl.indexOf('127.0.0.1') !== -1 || serverUrl.indexOf('localhost') !== -1)) { +// log('attempt server startup'); +// //chrome and phantomjs are supported natively. i.e. no webdriver required. chromedriver or phantomjs executables must be in PATH though +// if (tgtBrowser !== 'chrome' && tgtBrowser !== 'phantomjs') { +// //make sure there is a jar file +// var jarExists = fs.existsSync(serverJar); +// if (!jarExists) { +// throw new Error('You must specify a valid SELENIUM_JAR value. The value must point to a driver executable in your file system.'); +// } +// var server = new SeleniumServer(serverJar, serverProps); +// server.start(); +// serverUrl = server.address(); +// } else { +// serverUrl = null; +// } +// } return serverUrl; } From 398424b60053b50d19a9f0205e122b234ddb5453 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Tue, 25 Nov 2014 15:15:48 -0800 Subject: [PATCH 02/16] docs --- README.md | 13 ++++++++----- setup/index.js | 5 ++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a2054aa..dc148c2 100644 --- a/README.md +++ b/README.md @@ -101,17 +101,20 @@ which need to require modules from your test suite. Browser you wish to automate. Make sure that your chosen webdriver has this browser option available -### targetServer (optional/conditional) +### localServer (optional) -Webdriver server you wish to use. Set as simply "localhost" if you are using a selenium-standalone driver on your local machine. -Leave unset if you are using chrome or phantomjs on your local machine +Set to true if you want Nemo to attempt to start a standalone binary on your system (like selenium-standalone-server) or use a local browser/driver like Chrome/chromedriver or PhantomJS. + + +### targetServer (optional) + +Webdriver server URL you wish to use. If you are using sauce labs, make sure `targetServer` is set to correct url like `"http://yourkey:yoursecret@ondemand.saucelabs.com:80/wd/hub"` ### serverProps (optional/conditional) -Additional server properties required of the 'targetServer'. If you are using a selenium-standalone driver on your local machine, -you have to minimally specify the port number. Leave unset if you aren't specifying a targetServer. +Additional server properties required of the 'targetServer' You can also set args and jvmArgs to the selenium jar process as follows: diff --git a/setup/index.js b/setup/index.js index db6eb0e..1351ef5 100644 --- a/setup/index.js +++ b/setup/index.js @@ -39,7 +39,7 @@ function Setup() { localServer = nemoData.localServer || false, customCaps = nemoData.serverCaps, serverUrl = nemoData.targetServer, - serverProps = nemoData.serverProps, + serverProps = nemoData.serverProps || {}, serverJar = nemoData.seleniumJar, errorObject = null; @@ -53,6 +53,9 @@ function Setup() { if (!jarExists) { error('You must specify a valid SELENIUM_JAR value. The value must point to a driver executable in your file system.'); } + if (!!serverProps.port === false) { + serverProps.port = 4444; + } var server = new SeleniumServer(serverJar, serverProps); server.start(); serverUrl = server.address(); From ff83938ea80e7cf2b65832fcad302b2dcfe88dae Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Tue, 25 Nov 2014 16:01:31 -0800 Subject: [PATCH 03/16] move debug module to dependencies --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index cd7d1d9..f6db172 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nemo", - "version": "0.3.0-alpha.1", + "version": "0.3.0-alpha.2", "description": "Abstraction for automation test components", "scripts": { "test": "grunt" @@ -8,6 +8,7 @@ "dependencies": { "selenium-webdriver": "~2.44.0", "xunit-file": "~0.0.4", + "debug": "^2.1.0", "async": "0.1.x", "nconf": "~0.6.7", "lodash": "^2.4.0" @@ -16,7 +17,6 @@ "devDependencies": { "async": "~0.2.8", "chai": "~1.6.0", - "debug": "^2.1.0", "grunt": "~0.4.1", "grunt-contrib-jshint": "~0.7.1", "grunt-loop-mocha": "^0.3.0", From 216d32998e08d061cb6bfb935f2afa803bd22e8a Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Tue, 25 Nov 2014 16:56:28 -0800 Subject: [PATCH 04/16] adding some doc fixes --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index dc148c2..5e85181 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ For a holistic guide to using Nemo as an overall automation solution, [please st add the following to package.json devDependencies (assuming mocha is already integrated to your project): ```javascript -"nemo": "^0.2.1", +"nemo": "^0.3.0.alpha", ``` Then `npm install` @@ -38,7 +38,7 @@ var Nemo = require("../"); process.env.nemoData = JSON.stringify({ targetBrowser: "firefox", targetServer: "localhost", - serverProps: {"port": 4444}, + localServer: true, seleniumJar: "/usr/bin/selenium-server-standalone.jar", targetBaseUrl: "https://www.paypal.com" }); @@ -48,9 +48,7 @@ var config = { nemoData: { targetBrowser: "firefox", targetServer: "localhost", - serverProps: { - "port": 4444 - }, + localServer: true, seleniumJar: "/usr/bin/selenium-server-standalone.jar", targetBaseUrl: "https://www.paypal.com" } From c64d5f33cb2428a323c77a0bbddf707614c6e050 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Tue, 25 Nov 2014 17:07:20 -0800 Subject: [PATCH 05/16] fix logic to be less confusing, dont use !! --- setup/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup/index.js b/setup/index.js index 1351ef5..2bf8314 100644 --- a/setup/index.js +++ b/setup/index.js @@ -53,7 +53,7 @@ function Setup() { if (!jarExists) { error('You must specify a valid SELENIUM_JAR value. The value must point to a driver executable in your file system.'); } - if (!!serverProps.port === false) { + if (serverProps.port === undefined) { serverProps.port = 4444; } var server = new SeleniumServer(serverJar, serverProps); From 22eaaad05920d6169db0325b401de110d34bbedb Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Wed, 26 Nov 2014 09:57:39 -0800 Subject: [PATCH 06/16] refactor unit tests in order to seperate travis run from local run --- package.json | 2 +- setup/index.js | 30 +++++++------------------- test/test-nemoData.js | 22 +++++++++++++++++++ test/{test-setup.js => test-travis.js} | 6 +++--- 4 files changed, 34 insertions(+), 26 deletions(-) create mode 100644 test/test-nemoData.js rename test/{test-setup.js => test-travis.js} (93%) diff --git a/package.json b/package.json index f6db172..c1dd590 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.3.0-alpha.2", "description": "Abstraction for automation test components", "scripts": { - "test": "grunt" + "test": "grunt --grep @travis@" }, "dependencies": { "selenium-webdriver": "~2.44.0", diff --git a/setup/index.js b/setup/index.js index 2bf8314..153e90b 100644 --- a/setup/index.js +++ b/setup/index.js @@ -46,39 +46,25 @@ function Setup() { function getServer() { log('attempt getServer'); //are we running the tests on the local machine? - if (!!localServer) { + if (localServer === true) { if (tgtBrowser !== 'chrome' && tgtBrowser !== 'phantomjs') { //make sure there is a jar file var jarExists = fs.existsSync(serverJar); if (!jarExists) { error('You must specify a valid SELENIUM_JAR value. The value must point to a driver executable in your file system.'); } - if (serverProps.port === undefined) { - serverProps.port = 4444; + else { + if (serverProps.port === undefined) { + serverProps.port = 4444; + } + var server = new SeleniumServer(serverJar, serverProps); + server.start(); + serverUrl = server.address(); } - var server = new SeleniumServer(serverJar, serverProps); - server.start(); - serverUrl = server.address(); } else { serverUrl = null; } } -// if (serverProps && (serverUrl.indexOf('127.0.0.1') !== -1 || serverUrl.indexOf('localhost') !== -1)) { -// log('attempt server startup'); -// //chrome and phantomjs are supported natively. i.e. no webdriver required. chromedriver or phantomjs executables must be in PATH though -// if (tgtBrowser !== 'chrome' && tgtBrowser !== 'phantomjs') { -// //make sure there is a jar file -// var jarExists = fs.existsSync(serverJar); -// if (!jarExists) { -// throw new Error('You must specify a valid SELENIUM_JAR value. The value must point to a driver executable in your file system.'); -// } -// var server = new SeleniumServer(serverJar, serverProps); -// server.start(); -// serverUrl = server.address(); -// } else { -// serverUrl = null; -// } -// } return serverUrl; } diff --git a/test/test-nemoData.js b/test/test-nemoData.js new file mode 100644 index 0000000..7fd6bc0 --- /dev/null +++ b/test/test-nemoData.js @@ -0,0 +1,22 @@ +/* global module: true, require: true, console: true */ +"use strict"; + +var should = require('chai').should(), + Nemo = require('../index'); + +describe("@nemoData@ suite", function () { + describe("@environmentVariable@", function () { + + it("should launch a local server", function (done) { + + }); + }); + describe("@jsonVariable@", function () { + it("should launch a local server", function (done) { + + }); + it("should override any nemoData environment variable", function (done) { + + }); + }); +}); diff --git a/test/test-setup.js b/test/test-travis.js similarity index 93% rename from test/test-setup.js rename to test/test-travis.js index c8e01f9..746fa32 100644 --- a/test/test-setup.js +++ b/test/test-travis.js @@ -4,7 +4,7 @@ var should = require('chai').should(), Nemo = require('../index'); -describe("nemo functionality", function () { +describe("nemo @travis@ suite", function () { var driver; var nemo; var config = require("./config/plugins"); @@ -25,7 +25,7 @@ describe("nemo functionality", function () { _nemo.should.not.equal(undefined); done(); }); - it("should return back camelcase properties from titlecase ARGV options and also init any plugins", function (done) { + it("should return back nemoData properties and init any plugins", function (done) { //console.log(_nemo.setup); _nemo.setup({ "samplePlugin": { @@ -47,7 +47,7 @@ describe("nemo functionality", function () { done(err); }); }); - it("should navigate to the TARGET_BASE_URL set via command line", function (done) { + it("should navigate to the targetBaseUrl set via nemoData", function (done) { driver.get(nemo.props.targetBaseUrl). then(function () { done(); From c29ed99d7672f4f3fb20d4906913d9bf95714385 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Wed, 26 Nov 2014 14:00:44 -0800 Subject: [PATCH 07/16] clarify unit tests as well as documentation for logging and debugging --- Gruntfile.js | 2 +- README.md | 16 ++++++++ setup/index.js | 1 + test/test-nemoData.js | 85 ++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 97 insertions(+), 7 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 9d2d8f1..b34793c 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -11,7 +11,7 @@ module.exports = function (grunt) { globals: ['should'], timeout: 30000, ignoreLeaks: false, - grep: '', + grep: grunt.option('grep') || '', ui: 'bdd', reporter: 'spec' }, diff --git a/README.md b/README.md index 5e85181..d272aea 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,22 @@ More on plugin authoring can be found here: https://github.com/paypal/nemo-docs/ File issues for new plugin creation here: https://github.com/paypal/nemo-plugin-registry/issues +## Logging and debugging + +Nemo uses the [debug](https://github.com/visionmedia/debug.git) module for console logging and error output. There are two classes of logging, `nemo:log` and `nemo:error` + +If you want to see both classes of output, simply use the appropriate value of the DEBUG environment variable when you run nemo: + +```bash +$ DEBUG=nemo:* +``` + +To see just one: + +```bash +$ DEBUG=nemo:error +``` + ## API ### Nemo constructor diff --git a/setup/index.js b/setup/index.js index 153e90b..f18629e 100644 --- a/setup/index.js +++ b/setup/index.js @@ -47,6 +47,7 @@ function Setup() { log('attempt getServer'); //are we running the tests on the local machine? if (localServer === true) { + log('test locally'); if (tgtBrowser !== 'chrome' && tgtBrowser !== 'phantomjs') { //make sure there is a jar file var jarExists = fs.existsSync(serverJar); diff --git a/test/test-nemoData.js b/test/test-nemoData.js index 7fd6bc0..5db9a17 100644 --- a/test/test-nemoData.js +++ b/test/test-nemoData.js @@ -5,18 +5,91 @@ var should = require('chai').should(), Nemo = require('../index'); describe("@nemoData@ suite", function () { + var nemo; describe("@environmentVariable@", function () { - - it("should launch a local server", function (done) { - + before(function (done) { + process.env.nemoData = JSON.stringify({ + targetBrowser: "safari", + localServer: true, + seleniumJar: "/usr/local/bin/selenium-server-standalone.jar", + targetBaseUrl: "https://www.paypal.com", + passThroughFromEnv: true + }); + done(); + }); + after(function (done) { + nemo.driver.quit().then(function () { + setTimeout(function() {done();}, 100); + }); + }); + it("should launch a local server and have the passThroughFromEnv variable", function (done) { + (new Nemo()).setup({}).then(function (_nemo) { + nemo = _nemo; + nemo.driver.get(nemo.props.targetBaseUrl).then(function () { + if (nemo.props.passThroughFromEnv === true) { + done(); + } else { + done(new Error("some problem with passthrough variable")); + } + }, function (err) { + done(err); + }); + }); }); }); describe("@jsonVariable@", function () { - it("should launch a local server", function (done) { - + after(function (done) { + nemo.driver.quit().then(function () { + setTimeout(function() {done();}, 100); + }); + }); + var nemoData = { + targetBrowser: "safari", + localServer: true, + seleniumJar: "/usr/local/bin/selenium-server-standalone.jar", + targetBaseUrl: "https://www.paypal.com", + passThroughFromJson: true + }; + var nemo; + it("should launch a local server and have the passThroughFromEnv variable", function (done) { + (new Nemo({nemoData: nemoData})).setup({}).then(function (_nemo) { + nemo = _nemo; + nemo.driver.get(nemo.props.targetBaseUrl).then(function () { + if (nemo.props.passThroughFromJson === true && nemo.props.passThroughFromEnv === undefined) { + done(); + } else { + done(new Error("some problem with passthrough variable")); + } + }, function (err) { + done(err); + }); + }); + }); + }); + describe("@launchFirefox@", function () { + before(function (done) { + process.env.nemoData = JSON.stringify({ + targetBrowser: "firefox", + targetBaseUrl: "https://www.paypal.com" + }); + done(); + }); + after(function (done) { + nemo.driver.quit().then(function () { + setTimeout(function() {done();}, 10); + }); }); - it("should override any nemoData environment variable", function (done) { + it("should work without localServer, seleniumJar props", function (done) { + (new Nemo()).setup({}).then(function (_nemo) { + nemo = _nemo; + console.log(nemo.props.targetBaseUrl); + nemo.driver.get(nemo.props.targetBaseUrl).then(function () { + done(); + }, function (err) { + done(err); + }); + }); }); }); }); From 4a21ab86ce3c8ef9d088c86cbcd93ad0b894c779 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Wed, 26 Nov 2014 14:04:56 -0800 Subject: [PATCH 08/16] clarify default for localServer --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d272aea..6848135 100644 --- a/README.md +++ b/README.md @@ -99,9 +99,9 @@ which need to require modules from your test suite. Browser you wish to automate. Make sure that your chosen webdriver has this browser option available -### localServer (optional) +### localServer (optional, defaults to false) -Set to true if you want Nemo to attempt to start a standalone binary on your system (like selenium-standalone-server) or use a local browser/driver like Chrome/chromedriver or PhantomJS. +Set localServer to true if you want Nemo to attempt to start a standalone binary on your system (like selenium-standalone-server) or use a local browser/driver like Chrome/chromedriver or PhantomJS. ### targetServer (optional) From c358dc6122a11a58e550a67e1f5ebeea7227b4c5 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Wed, 17 Dec 2014 16:00:23 -0800 Subject: [PATCH 09/16] update Capabilities logic so user doesnt have to provide a targetBrowser --- setup/index.js | 26 ++++++++++++-------------- test/test-nemoData.js | 4 ++-- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/setup/index.js b/setup/index.js index 7d7ceea..0b0238e 100644 --- a/setup/index.js +++ b/setup/index.js @@ -30,12 +30,12 @@ function Setup() { return { doSetup: function doSetup(_wd, nemoData, callback) { log('entering doSetup'); - if (nemoData === {} || nemoData.targetBrowser === undefined) { - callback(new Error('[Nemo::doSetup] The nemoData environment variable is missing or not fully defined! Please read about nemoData configuration here: https://github.com/paypal/nemo/blob/master/README.md#nemo-configuration')); + if (nemoData === {}) { + callback(new Error('[Nemo::doSetup] The nemoData environment variable is missing or not fully defined!')); return; } var caps, - tgtBrowser = nemoData.targetBrowser, + tgtBrowser = nemoData.targetBrowser || '', localServer = nemoData.localServer || false, customCaps = nemoData.serverCaps, serverUrl = nemoData.targetServer, @@ -46,22 +46,19 @@ function Setup() { function getServer() { log('attempt getServer'); //are we running the tests on the local machine? - if (localServer === true) { - log('test locally'); + if (!!localServer) { if (tgtBrowser !== 'chrome' && tgtBrowser !== 'phantomjs') { //make sure there is a jar file var jarExists = fs.existsSync(serverJar); if (!jarExists) { error('You must specify a valid SELENIUM_JAR value. The value must point to a driver executable in your file system.'); } - else { - if (serverProps.port === undefined) { - serverProps.port = 4444; - } - var server = new SeleniumServer(serverJar, serverProps); - server.start(); - serverUrl = server.address(); + if (serverProps.port === undefined) { + serverProps.port = 4444; } + var server = new SeleniumServer(serverJar, serverProps); + server.start(); + serverUrl = server.address(); } else { serverUrl = null; } @@ -72,7 +69,8 @@ function Setup() { function getCapabilities() { //specified valid webdriver browser key? if (!webdriver.Capabilities[tgtBrowser]) { - error('You have specified ' + tgtBrowser + ' which is an invalid webdriver.Capabilities browser option'); + log('You have specified targetBrowser: ' + tgtBrowser + ' which is not a built-in webdriver.Capabilities browser option'); + caps = new webdriver.Capabilities(); } else { caps = webdriver.Capabilities[tgtBrowser](); @@ -82,7 +80,7 @@ function Setup() { caps.set(key, customCaps[key]); }); } - + //log('caps', caps); return caps; } diff --git a/test/test-nemoData.js b/test/test-nemoData.js index 5db9a17..4f1b44e 100644 --- a/test/test-nemoData.js +++ b/test/test-nemoData.js @@ -9,7 +9,7 @@ describe("@nemoData@ suite", function () { describe("@environmentVariable@", function () { before(function (done) { process.env.nemoData = JSON.stringify({ - targetBrowser: "safari", + targetBrowser: "firefox", localServer: true, seleniumJar: "/usr/local/bin/selenium-server-standalone.jar", targetBaseUrl: "https://www.paypal.com", @@ -44,7 +44,7 @@ describe("@nemoData@ suite", function () { }); }); var nemoData = { - targetBrowser: "safari", + targetBrowser: "firefox", localServer: true, seleniumJar: "/usr/local/bin/selenium-server-standalone.jar", targetBaseUrl: "https://www.paypal.com", From da0f8fc5b976b7ea613e4e003f9b8d92870374bf Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Wed, 17 Dec 2014 16:03:45 -0800 Subject: [PATCH 10/16] put back in small change which somehow got merged out --- setup/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup/index.js b/setup/index.js index 0b0238e..ca57e1d 100644 --- a/setup/index.js +++ b/setup/index.js @@ -46,7 +46,8 @@ function Setup() { function getServer() { log('attempt getServer'); //are we running the tests on the local machine? - if (!!localServer) { + if (localServer === true) { + log('test locally'); if (tgtBrowser !== 'chrome' && tgtBrowser !== 'phantomjs') { //make sure there is a jar file var jarExists = fs.existsSync(serverJar); From c0fdecda02752d14761c5a8334ecae23fc80855e Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Wed, 17 Dec 2014 16:05:32 -0800 Subject: [PATCH 11/16] v0.3.0-alpha.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c1dd590..9b0cc43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nemo", - "version": "0.3.0-alpha.2", + "version": "0.3.0-alpha.3", "description": "Abstraction for automation test components", "scripts": { "test": "grunt --grep @travis@" From e06a8be2e839575ae5a41ac4c0d2def4fe4f3d07 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Thu, 18 Dec 2014 10:30:44 -0800 Subject: [PATCH 12/16] removing comment from in front of log message --- setup/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup/index.js b/setup/index.js index ca57e1d..548faa9 100644 --- a/setup/index.js +++ b/setup/index.js @@ -81,7 +81,7 @@ function Setup() { caps.set(key, customCaps[key]); }); } - //log('caps', caps); + log('Capabilities', caps); return caps; } From 2d851fdbeb895294888642595c1ca6f1d297932c Mon Sep 17 00:00:00 2001 From: dale tan Date: Thu, 15 Jan 2015 22:16:51 -0500 Subject: [PATCH 13/16] fixed link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6848135..e143a30 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ var config = { ``` You can see this file within the nemo examples directory: -https://github.com/paypal/nemo/examples/setup.js +[https://github.com/paypal/nemo/examples/setup.js](/examples/setup.js) Note you can set `nemoData` via an environment variable OR by passing it into the Nemo constructor. From c7676bc6f5651e9362731cc2327139dcce55bc60 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Fri, 16 Jan 2015 16:13:36 -0800 Subject: [PATCH 14/16] remove alpha --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9b0cc43..b0566e3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nemo", - "version": "0.3.0-alpha.3", + "version": "0.3.0", "description": "Abstraction for automation test components", "scripts": { "test": "grunt --grep @travis@" From 23f03d1bf6fdb65c7ad649ed5fa6af782b861d22 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Fri, 16 Jan 2015 16:14:22 -0800 Subject: [PATCH 15/16] 0.3.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b0566e3..c15bc9c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nemo", - "version": "0.3.0", + "version": "0.3.1", "description": "Abstraction for automation test components", "scripts": { "test": "grunt --grep @travis@" From ba60885a3b232e88efb3570098277ba87f9f74f2 Mon Sep 17 00:00:00 2001 From: Matt Edelman Date: Fri, 16 Jan 2015 16:56:00 -0800 Subject: [PATCH 16/16] remove alpha from README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e143a30..a831256 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ For a holistic guide to using Nemo as an overall automation solution, [please st add the following to package.json devDependencies (assuming mocha is already integrated to your project): ```javascript -"nemo": "^0.3.0.alpha", +"nemo": "^0.3.1", ``` Then `npm install`