diff --git a/circle.yml b/circle.yml
index 6941942..27e0efd 100644
--- a/circle.yml
+++ b/circle.yml
@@ -1,6 +1,6 @@
machine:
node:
- version: 7.5.0
+ version: 8.9.1
environment:
# Fix issue with selenium-server in containers.
# See http://github.com/SeleniumHQ/docker-selenium/issues/87
diff --git a/protractor-typescript-cucumber/.gitignore b/protractor-typescript-cucumber/.gitignore
index 26ec594..e972a2e 100644
--- a/protractor-typescript-cucumber/.gitignore
+++ b/protractor-typescript-cucumber/.gitignore
@@ -1,3 +1,4 @@
.vscode/
node_modules/
-tmp/
+typeScript/
+reports/
diff --git a/protractor-typescript-cucumber/README.md b/protractor-typescript-cucumber/README.md
index f61e92d..13f1f2e 100644
--- a/protractor-typescript-cucumber/README.md
+++ b/protractor-typescript-cucumber/README.md
@@ -1,8 +1,9 @@
-###Protractor-Cucumber-TypeScript Setup Guide
+## Protractor-Cucumber-TypeScript Setup Guide
This project demonstrates the basic protractor-cucumber-typescript framework project setup.
-###Features
+### Features
+
* No typings.json or typings folder, they have been replaced by better **'@types'** modules in package.json
* ts-node(typescript execution environment for node) in cucumberOpts.
* All scripts written with Typescript2.0 & Cucumber2.0
@@ -11,10 +12,10 @@ This project demonstrates the basic protractor-cucumber-typescript framework pro
* Extensive hooks implemented for BeforeFeature, AfterScenarios etc.
* Screenshots on failure feature scenarios
+### To Get Started
-###To Get Started
+#### Pre-requisites
-####Pre-requisites
1.NodeJS installed globally in the system.
https://nodejs.org/en/download/
@@ -22,14 +23,18 @@ https://nodejs.org/en/download/
3.Text Editor(Optional) installed-->Sublime/Visual Studio Code/Brackets.
-####Setup Scripts
+#### Setup Scripts
+
* run following command from terminal/command prompt
+
```
- npm install
+npm install
```
+
* All the dependencies from package.json and ambient typings would be installed in node_modules folder.
-####Setup & Run TestApp
+#### Setup & Run TestApp
+
```
cd ..
cd testapp/
@@ -38,13 +43,28 @@ cd testapp/
npm start
```
+#### Start Selenium Server
+
+```
+npm run webdriver-update && npm run webdriver-start
+```
+
+#### Run Scripts
-####Run Scripts
```
- npm test
+npm test
```
+
* The above command should create an output folder named 'tmp' and transpile the .ts files.
* It launches the Firefox Browser and run the scripts
-##Contributions
+### Report
+
+**json** & **html** reports are auto-generated in the `reports` folder when you run `npm test`. Currently this project has been integrated with [cucumber-html-reporter](https://github.com/gkushang/cucumber-html-reporter).
+They can be customized according to user's specific needs.
+
+
+
+## Contributions
+
For contributors who want to improve this repo by contributing some code, reporting bugs, issues or improving documentation - PR's are highly welcome, please maintain the coding style , folder structure , detailed description of documentation and bugs/issues with examples if possible.
\ No newline at end of file
diff --git a/protractor-typescript-cucumber/config/config.ts b/protractor-typescript-cucumber/config/config.ts
index 43d085e..91a0c7e 100644
--- a/protractor-typescript-cucumber/config/config.ts
+++ b/protractor-typescript-cucumber/config/config.ts
@@ -1,5 +1,7 @@
-import { environment } from './environment';
import { browser, Config } from 'protractor';
+import { Reporter } from '../support/reporter';
+import { environment } from './environment';
+const jsonReports = process.cwd() + '/reports/json';
/*
The config folder includes all the configuration files
@@ -12,21 +14,28 @@ export let config: Config = {
baseUrl: environment.baseUrl,
capabilities: environment.capabilities,
framework: 'custom',
+ SELENIUM_PROMISE_MANAGER: false,
frameworkPath: require.resolve('protractor-cucumber-framework'),
specs: [
- '../../features/*.feature'
+ '../../features/*.feature',
],
// This utility function helps prepare our scripts with required actions like browser maximize
onPrepare: () => {
browser.driver.manage().window().maximize();
+ Reporter.createDirectory(jsonReports);
},
// These are various cucumber compiler options
cucumberOpts: {
- compiler: "ts:ts-node/register",
- format: ["pretty"],
+ compiler: 'ts:ts-node/register',
+ format: 'json:./reports/json/cucumber_report.json',
require: ['../../stepdefinitions/*.ts', '../../support/*.ts'],
- //tags help us execute specific scenarios of feature files
- tags: '@AddScenario or @SubtractScenario or @MultiplyScenario or @DivideScenario or @ModulusScenario'
- }
+ strict: true,
+ // tags help us execute specific scenarios of feature files
+ tags: '@AddScenario or @SubtractScenario or @MultiplyScenario or @DivideScenario or @ModulusScenario',
+ },
+
+ onComplete: () => {
+ Reporter.createHTMLReport();
+ },
};
diff --git a/protractor-typescript-cucumber/config/environment.ts b/protractor-typescript-cucumber/config/environment.ts
index f9d2f69..095e51e 100644
--- a/protractor-typescript-cucumber/config/environment.ts
+++ b/protractor-typescript-cucumber/config/environment.ts
@@ -1,16 +1,16 @@
-let webServerDefaultPort = 8080;
+const port = 8080;
export let environment = {
// Capabilities to be passed to the webdriver instance.
capabilities: {
- 'browserName':
+ browserName:
(process.env.TEST_BROWSER_NAME || 'chrome'),
- 'version':
- (process.env.TEST_BROWSER_VERSION || 'ANY')
+ version:
+ (process.env.TEST_BROWSER_VERSION || 'ANY'),
},
// Default http port to host the web server
- webServerDefaultPort: webServerDefaultPort,
+ webServerDefaultPort: port,
// Protractor interactive tests
interactiveTestPort: 6969,
@@ -18,6 +18,6 @@ export let environment = {
// A base URL for your application under test.
baseUrl:
'http://' + (process.env.HTTP_HOST || 'localhost') +
- ':' + (process.env.HTTP_PORT || webServerDefaultPort)
+ ':' + (process.env.HTTP_PORT || port),
};
diff --git a/protractor-typescript-cucumber/images/report.png b/protractor-typescript-cucumber/images/report.png
new file mode 100644
index 0000000..1f56b00
Binary files /dev/null and b/protractor-typescript-cucumber/images/report.png differ
diff --git a/protractor-typescript-cucumber/package.json b/protractor-typescript-cucumber/package.json
index f88f3ef..251277f 100644
--- a/protractor-typescript-cucumber/package.json
+++ b/protractor-typescript-cucumber/package.json
@@ -18,24 +18,29 @@
"automation testing"
],
"scripts": {
- "example": "protractor tmp/config/config.js",
- "pretest": "npm run tsc",
+ "clean": "rimraf typeScript/",
+ "clean-build": "npm run clean && npm run tsc",
+ "example": "protractor typeScript/config/config.js",
+ "pretest": "npm run clean-build",
"test": "npm run example",
- "tsc": "tsc"
+ "tsc": "tsc",
+ "webdriver-update": "webdriver-manager update",
+ "webdriver-start": "webdriver-manager start"
},
"author": "Ram Pasala ",
- "dependencies": {
- "protractor": "^5.1.1",
- "ts-node": "^2.1.0",
- "typescript": "^2.2.1"
- },
"devDependencies": {
- "@types/cucumber": "^0.0.38",
- "@types/node": "^7.0.8",
- "@types/selenium-webdriver": "~2.53.39",
- "chai": "^3.5.0",
- "chai-as-promised": "^6.0.0",
- "cucumber": "^2.0.0-rc.8",
- "protractor-cucumber-framework": "^1.0.1"
+ "@types/cucumber": "^2.0.4",
+ "@types/node": "^8.0.51",
+ "@types/selenium-webdriver": "^3.0.8",
+ "chai": "^4.1.2",
+ "chai-as-promised": "^7.1.1",
+ "cucumber": "^3.1.0",
+ "cucumber-html-reporter": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "protractor": "^5.2.0",
+ "protractor-cucumber-framework": "^4.1.1",
+ "rimraf": "^2.6.2",
+ "ts-node": "^3.3.0",
+ "typescript": "^2.6.1"
}
}
diff --git a/protractor-typescript-cucumber/pages/calcPage.ts b/protractor-typescript-cucumber/pages/calcPage.ts
index f45490a..46e88d9 100644
--- a/protractor-typescript-cucumber/pages/calcPage.ts
+++ b/protractor-typescript-cucumber/pages/calcPage.ts
@@ -3,20 +3,22 @@ import { $, by, element, ElementFinder } from 'protractor';
Page Objects help in better re-usablitity and maintenance of element locators
This file exports CalculatorPageObject class
**/
-export class CalculatorPageObject {
- public first_operand:ElementFinder;
- public second_operand:ElementFinder;
+class CalculatorPageObject {
+ public get firstOperand(): ElementFinder { return element(by.model('first')); }
+ public get secondOperand(): ElementFinder { return element(by.model('second')); }
+ public get goButton(): ElementFinder { return element(by.id('gobutton')); }
+ public get result(): ElementFinder { return element(by.binding('latest')); }
public operator: any;
- public go_button: ElementFinder;
- public result: ElementFinder;
constructor() {
- this.first_operand = element(by.model('first'));
- this.second_operand = element(by.model('second'));
- this.operator = (optor:string) => {
- return element(by.cssContainingText('option',optor));
- }
- this.go_button = element(by.id('gobutton'));
- this.result = element(by.binding('latest'));
+ this.operator = (optor: string) => {
+ return element(by.cssContainingText('option', optor));
+ };
}
}
+
+/**
+ * Export the instance of page objects in order to
+ * reduce flakiness and stateless priciple
+ */
+export const CalculatorPage = new CalculatorPageObject();
diff --git a/protractor-typescript-cucumber/stepdefinitions/calcSteps.ts b/protractor-typescript-cucumber/stepdefinitions/calcSteps.ts
index 729e064..a73581d 100644
--- a/protractor-typescript-cucumber/stepdefinitions/calcSteps.ts
+++ b/protractor-typescript-cucumber/stepdefinitions/calcSteps.ts
@@ -1,28 +1,24 @@
import { browser } from 'protractor';
-import { CalculatorPageObject } from '../pages/calcPage';
-import { defineSupportCode } from 'cucumber';
-let chai = require('chai').use(require('chai-as-promised'));
-let expect = chai.expect;
+import { CalculatorPage } from '../pages/calcPage';
+const {Given, When, Then} = require('cucumber');
+const chai = require('chai').use(require('chai-as-promised'));
+const expect = chai.expect;
/*
StepDefinition files act as the glue code between config and feature files
They drive the feature files from the background
**/
-defineSupportCode(({Given, When, Then}) => {
- let calc: CalculatorPageObject = new CalculatorPageObject();
- Given(/^I am on ng1 calculator page$/, () => {
- return expect(browser.getTitle()).to.eventually.equal('Super Calculator');
- });
+Given(/^I am on ng1 calculator page$/, async () => {
+ await expect(browser.getTitle()).to.eventually.equal('Super Calculator');
+});
- When(/^I calculate "(.*?)" "(.*?)" "(.*?)"$/, (num1: string, optor: string, num2: string) => {
- calc.first_operand.sendKeys(num1);
- calc.operator(optor).click();
- calc.second_operand.sendKeys(num2);
- return calc.go_button.click();
- });
-
- Then(/^the result "(.*?)" should be displayed$/, (result: string) => {
- return expect(calc.result.getText()).to.eventually.equal(result);
- });
-})
+When(/^I calculate "(.*?)" "(.*?)" "(.*?)"$/, async (num1: string, optor: string, num2: string) => {
+ await CalculatorPage.firstOperand.sendKeys(num1);
+ await CalculatorPage.operator(optor).click();
+ await CalculatorPage.secondOperand.sendKeys(num2);
+ await CalculatorPage.goButton.click();
+});
+Then(/^the result "(.*?)" should be displayed$/, async (result: string) => {
+ await expect(CalculatorPage.result.getText()).to.eventually.equal(result);
+});
diff --git a/protractor-typescript-cucumber/support/hooks.ts b/protractor-typescript-cucumber/support/hooks.ts
index 8bad51f..1d4df88 100644
--- a/protractor-typescript-cucumber/support/hooks.ts
+++ b/protractor-typescript-cucumber/support/hooks.ts
@@ -1,27 +1,20 @@
-/*jslint node: true*/
import { browser } from 'protractor';
-import { defineSupportCode } from "cucumber";
+const { BeforeAll, After, setDefaultTimeout, Status } = require('cucumber');
import * as fs from 'fs';
/*
Hooks help us follow DRY principle, all the utility functions go here
BeforeScenario, Features and screenshot hooks example provided here
**/
-defineSupportCode(function ({registerHandler, After}) {
+setDefaultTimeout(10 * 1000);
- registerHandler('BeforeFeature', (event) => {
- return browser.get('/ng1/calculator');
- });
+BeforeAll(async () => {
+ await browser.get('/ng1/calculator');
+});
- After((scenario, done) => {
- if (scenario.isFailed()) {
- return browser.takeScreenshot().then(function (base64png) {
- let decodedImage = new Buffer(base64png, 'base64').toString('binary');
- scenario.attach(decodedImage, 'image/png');
- }, (err) => {
- done(err);
- });
- } else {
- done();
- }
- });
-})
+After(async (scenario) => {
+ if (scenario.result.status === Status.FAILED) {
+ // screenShot is a base-64 encoded PNG
+ const screenShot = await browser.takeScreenshot();
+ this.attach(screenShot, 'image/png');
+ }
+});
diff --git a/protractor-typescript-cucumber/support/reporter.ts b/protractor-typescript-cucumber/support/reporter.ts
new file mode 100644
index 0000000..c4ae73a
--- /dev/null
+++ b/protractor-typescript-cucumber/support/reporter.ts
@@ -0,0 +1,33 @@
+import * as reporter from 'cucumber-html-reporter';
+import * as fs from 'fs';
+import * as mkdirp from 'mkdirp';
+import * as path from 'path';
+const jsonReports = path.join(process.cwd(), '/reports/json');
+const htmlReports = path.join(process.cwd(), '/reports/html');
+const targetJson = jsonReports + '/cucumber_report.json';
+
+const cucumberReporterOptions = {
+ jsonFile: targetJson,
+ output: htmlReports + '/cucumber_reporter.html',
+ reportSuiteAsScenarios: true,
+ theme: 'bootstrap',
+};
+
+export class Reporter {
+
+ public static createDirectory(dir: string) {
+ if (!fs.existsSync(dir)) {
+ mkdirp.sync(dir);
+ }
+ }
+
+ public static createHTMLReport() {
+ try {
+ reporter.generate(cucumberReporterOptions); // invoke cucumber-html-reporter
+ } catch (err) {
+ if (err) {
+ throw new Error('Failed to save cucumber test results to json file.');
+ }
+ }
+ }
+}
diff --git a/protractor-typescript-cucumber/tsconfig.json b/protractor-typescript-cucumber/tsconfig.json
index 1a3a780..b6ee387 100644
--- a/protractor-typescript-cucumber/tsconfig.json
+++ b/protractor-typescript-cucumber/tsconfig.json
@@ -7,13 +7,14 @@
"declaration": false,
"removeComments": false,
"noImplicitAny": false,
- "outDir": "tmp",
+ "outDir": "typeScript",
"typeRoots": [
"./node_modules/@types"
],
"types": [
"node",
- "cucumber"
+ "cucumber",
+ "selenium-webdriver"
]
},
"exclude": [
diff --git a/protractor-typescript-cucumber/tslint.json b/protractor-typescript-cucumber/tslint.json
new file mode 100644
index 0000000..33b0ec9
--- /dev/null
+++ b/protractor-typescript-cucumber/tslint.json
@@ -0,0 +1,28 @@
+{
+ "defaultSeverity": "error",
+ "extends": ["tslint:recommended"],
+ "jsRules": {},
+ "rules": {
+ "no-duplicate-imports": true,
+ "no-duplicate-variable": true,
+ "no-var-keyword": true,
+ "no-var-requires": false,
+ "quotemark": [true, "single", "avoid-escape"],
+ "semicolon": [true],
+ "variable-name": [true, "ban-keywords"],
+ "no-console": [false],
+ "object-literal-sort-keys": false,
+ "max-line-length": [true, 200],
+ "trailing-comma": [
+ true,
+ {
+ "multiline": {
+ "objects": "always",
+ "arrays": "always",
+ "functions": "never",
+ "typeLiterals": "ignore"
+ }
+ }
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/protractor-typescript-cucumber/yarn.lock b/protractor-typescript-cucumber/yarn.lock
index f64a83f..f4274bf 100644
--- a/protractor-typescript-cucumber/yarn.lock
+++ b/protractor-typescript-cucumber/yarn.lock
@@ -2,26 +2,34 @@
# yarn lockfile v1
-"@types/cucumber@^0.0.38":
- version "0.0.38"
- resolved "https://registry.yarnpkg.com/@types/cucumber/-/cucumber-0.0.38.tgz#36c3988922de47119c2cd461b922fc24af36a1e7"
+"@types/cucumber@^2.0.4":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@types/cucumber/-/cucumber-2.0.4.tgz#fb2fc2cb972154a8feb5ceba4bc689686bc1fb05"
"@types/node@^6.0.46":
version "6.0.65"
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.65.tgz#c00faa7ffcfc9842b5dd7bf650872562504d5670"
-"@types/node@^7.0.8":
- version "7.0.8"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.8.tgz#25e4dd804b630c916ae671233e6d71f6ce18124a"
+"@types/node@^8.0.51":
+ version "8.0.51"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.51.tgz#b31d716fb8d58eeb95c068a039b9b6292817d5fb"
"@types/q@^0.0.32":
version "0.0.32"
resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5"
-"@types/selenium-webdriver@^2.53.35", "@types/selenium-webdriver@~2.53.39":
+"@types/selenium-webdriver@^2.53.35":
version "2.53.42"
resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.42.tgz#74cb77fb6052edaff2a8984ddafd88d419f25cac"
+"@types/selenium-webdriver@^3.0.8":
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.8.tgz#83de9dd7aaf25f7fbd967c0d4fcc8112746dbf31"
+
+"@types/selenium-webdriver@~2.53.39":
+ version "2.53.43"
+ resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz#2de3d718819bc20165754c4a59afb7e9833f6707"
+
adm-zip@0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.4.tgz#a61ed5ae6905c3aea58b3a657d25033091052736"
@@ -52,7 +60,13 @@ ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-any-promise@^1.0.0, any-promise@^1.3.0:
+ansi-styles@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
+ dependencies:
+ color-convert "^1.9.0"
+
+any-promise@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
@@ -123,6 +137,10 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
+becke-ch--regex--s0-0-v1--base--pl--lib@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/becke-ch--regex--s0-0-v1--base--pl--lib/-/becke-ch--regex--s0-0-v1--base--pl--lib-1.2.0.tgz#2e73e9d21f2c2e6f5a5454045636f0ab93e46130"
+
blocking-proxy@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/blocking-proxy/-/blocking-proxy-0.0.5.tgz#462905e0dcfbea970f41aa37223dda9c07b1912b"
@@ -150,19 +168,22 @@ caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-chai-as-promised@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6"
+chai-as-promised@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0"
dependencies:
check-error "^1.0.2"
-chai@^3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247"
+chai@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c"
dependencies:
assertion-error "^1.0.1"
- deep-eql "^0.1.3"
- type-detect "^1.0.0"
+ check-error "^1.0.1"
+ deep-eql "^3.0.0"
+ get-func-name "^2.0.0"
+ pathval "^1.0.0"
+ type-detect "^4.0.0"
chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
@@ -174,7 +195,15 @@ chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-check-error@^1.0.2:
+chalk@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
+ dependencies:
+ ansi-styles "^3.1.0"
+ escape-string-regexp "^1.0.5"
+ supports-color "^4.0.0"
+
+check-error@^1.0.1, check-error@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
@@ -188,6 +217,16 @@ co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+color-convert@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ dependencies:
+ color-name "^1.1.1"
+
+color-name@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+
colors@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
@@ -216,7 +255,11 @@ core-js@^2.4.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
-core-util-is@1.0.2:
+core-js@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.3.0.tgz#fab83fbb0b2d8dc85fa636c4b9d34c75420c6d65"
+
+core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -226,17 +269,30 @@ cryptiles@2.x.x:
dependencies:
boom "2.x.x"
-cucumber-expressions@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cucumber-expressions/-/cucumber-expressions-3.0.0.tgz#4cf424813dae396cc9dab714b8104b459befc32c"
+cucumber-expressions@^5.0.0:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/cucumber-expressions/-/cucumber-expressions-5.0.3.tgz#7494860afd51309ba91088fb5d1af9a9897b7c7e"
+ dependencies:
+ becke-ch--regex--s0-0-v1--base--pl--lib "^1.2.0"
+
+cucumber-html-reporter@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/cucumber-html-reporter/-/cucumber-html-reporter-3.0.4.tgz#1be0dee83f30a2f4719207859a5440ce082ffadd"
+ dependencies:
+ find "^0.2.7"
+ fs-extra "^3.0.1"
+ js-base64 "^2.3.2"
+ jsonfile "^3.0.0"
+ lodash "^4.17.2"
+ open "0.0.5"
cucumber-tag-expressions@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cucumber-tag-expressions/-/cucumber-tag-expressions-1.0.0.tgz#5dc27ae3073acde1db3aa7cf4d9609a42f15ee5d"
-cucumber@^2.0.0-rc.8:
- version "2.0.0-rc.8"
- resolved "https://registry.yarnpkg.com/cucumber/-/cucumber-2.0.0-rc.8.tgz#6da26dbccfb2e766826d8c09f1486b35b93b5d58"
+cucumber@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cucumber/-/cucumber-3.1.0.tgz#13886bce87e9018ecb57999bb00c03a1bfa58d5d"
dependencies:
assertion-error-formatter "^2.0.0"
babel-runtime "^6.11.6"
@@ -244,21 +300,24 @@ cucumber@^2.0.0-rc.8:
cli-table "^0.3.1"
colors "^1.1.2"
commander "^2.9.0"
- cucumber-expressions "^3.0.0"
+ cucumber-expressions "^5.0.0"
cucumber-tag-expressions "^1.0.0"
duration "^0.2.0"
+ escape-string-regexp "^1.0.5"
figures "2.0.0"
- gherkin "^4.0.0"
+ gherkin "^5.0.0"
glob "^7.0.0"
indent-string "^3.1.0"
is-generator "^1.0.2"
is-stream "^1.1.0"
lodash "^4.0.0"
mz "^2.4.0"
- stack-chain "^1.3.5"
- stacktrace-js "^1.3.0"
+ progress "^2.0.0"
+ resolve "^1.3.3"
+ stack-chain "^2.0.0"
+ stacktrace-js "^2.0.0"
string-argv "0.0.2"
- upper-case-first "^1.1.2"
+ title-case "^2.1.1"
util-arity "^1.0.2"
verror "^1.9.0"
@@ -274,17 +333,23 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
-debug@2, debug@^2.2.0:
+debug@2:
version "2.6.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
dependencies:
ms "0.7.2"
-deep-eql@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
+debug@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ dependencies:
+ ms "2.0.0"
+
+deep-eql@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
dependencies:
- type-detect "0.1.1"
+ type-detect "^4.0.0"
del@^2.2.0:
version "2.2.2"
@@ -319,17 +384,11 @@ ecc-jsbn@~0.1.1:
dependencies:
jsbn "~0.1.0"
-error-ex@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
- dependencies:
- is-arrayish "^0.2.1"
-
-error-stack-parser@^1.3.6:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292"
+error-stack-parser@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a"
dependencies:
- stackframe "^0.3.1"
+ stackframe "^1.0.3"
es5-ext@^0.10.7, es5-ext@~0.10.11, es5-ext@~0.10.2:
version "0.10.12"
@@ -346,6 +405,10 @@ es6-iterator@2:
es5-ext "^0.10.7"
es6-symbol "3"
+es6-promise@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6"
+
es6-symbol@3, es6-symbol@~3.1:
version "3.1.0"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa"
@@ -379,6 +442,12 @@ figures@2.0.0:
dependencies:
escape-string-regexp "^1.0.5"
+find@^0.2.7:
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/find/-/find-0.2.7.tgz#7afbd00f8f08c5b622f97cda6f714173d547bb3f"
+ dependencies:
+ traverse-chain "~0.1.0"
+
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -391,19 +460,31 @@ form-data@~2.1.1:
combined-stream "^1.0.5"
mime-types "^2.1.12"
+fs-extra@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^3.0.0"
+ universalify "^0.1.0"
+
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+get-func-name@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
+
getpass@^0.1.1:
version "0.1.6"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
dependencies:
assert-plus "^1.0.0"
-gherkin@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/gherkin/-/gherkin-4.0.0.tgz#79dce04d1223ea43b4862a76be5ce8f89c12c32c"
+gherkin@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/gherkin/-/gherkin-5.0.1.tgz#9e42816cd188ceefd2cc72d564ebe2cffbdfb9dc"
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6:
version "7.1.1"
@@ -427,6 +508,10 @@ globby@^5.0.0:
pify "^2.0.0"
pinkie-promise "^2.0.0"
+graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
@@ -448,6 +533,10 @@ has-ansi@^2.0.0:
dependencies:
ansi-regex "^2.0.0"
+has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+
hawk@~3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
@@ -461,6 +550,12 @@ hoek@2.x.x:
version "2.16.3"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+homedir-polyfill@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
+ dependencies:
+ parse-passwd "^1.0.0"
+
http-signature@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
@@ -477,6 +572,10 @@ https-proxy-agent@^1.0.0:
debug "2"
extend "3"
+immediate@~3.0.5:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+
indent-string@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d"
@@ -488,7 +587,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2:
+inherits@2, inherits@~2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -496,10 +595,6 @@ ini@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-
is-generator@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-generator/-/is-generator-1.0.3.tgz#c14c21057ed36e328db80347966c693f886389f3"
@@ -528,9 +623,9 @@ is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-is-utf8@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
isstream@~0.1.2:
version "0.1.2"
@@ -548,9 +643,9 @@ jasmine@^2.5.3:
glob "^7.0.6"
jasmine-core "~2.5.2"
-jasminewd2@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.0.0.tgz#10aacd2c588c1ceb6a0b849f1a7f3f959f777c91"
+jasminewd2@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e"
jodid25519@^1.0.0:
version "1.0.2"
@@ -558,6 +653,10 @@ jodid25519@^1.0.0:
dependencies:
jsbn "~0.1.0"
+js-base64@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.3.2.tgz#a79a923666372b580f8e27f51845c6f7e8fbfbaf"
+
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
@@ -576,6 +675,12 @@ json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+jsonfile@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
@@ -588,10 +693,30 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.3.6"
-lodash@^4.0.0:
+jszip@^3.1.3:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.1.5.tgz#e3c2a6c6d706ac6e603314036d43cd40beefdf37"
+ dependencies:
+ core-js "~2.3.0"
+ es6-promise "~3.0.2"
+ lie "~3.1.0"
+ pako "~1.0.2"
+ readable-stream "~2.0.6"
+
+lie@~3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
+ dependencies:
+ immediate "~3.0.5"
+
+lodash@^4.0.0, lodash@^4.17.2:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+lower-case@^1.1.1:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+
make-error@^1.1.1:
version "1.2.3"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.2.3.tgz#6c4402df732e0977ac6faf754a5074b3d2b1d19d"
@@ -630,6 +755,10 @@ ms@0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
mz@^2.4.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/mz/-/mz-2.6.0.tgz#c8b8521d958df0a4f2768025db69c719ee4ef1ce"
@@ -638,6 +767,12 @@ mz@^2.4.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
+no-case@^2.2.0:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
+ dependencies:
+ lower-case "^1.1.1"
+
oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
@@ -652,6 +787,10 @@ once@^1.3.0:
dependencies:
wrappy "1"
+open@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"
+
optimist@~0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
@@ -663,7 +802,7 @@ options@>=0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
-os-tmpdir@~1.0.1:
+os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@@ -673,11 +812,13 @@ pad-right@^0.2.2:
dependencies:
repeat-string "^1.5.2"
-parse-json@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
- dependencies:
- error-ex "^1.2.0"
+pako@~1.0.2:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
+
+parse-passwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
path-is-absolute@^1.0.0:
version "1.0.1"
@@ -687,6 +828,14 @@ path-is-inside@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+path-parse@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+
+pathval@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
+
performance-now@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
@@ -701,22 +850,30 @@ pinkie-promise@^2.0.0:
dependencies:
pinkie "^2.0.0"
-pinkie@^2.0.0, pinkie@^2.0.4:
+pinkie@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-protractor-cucumber-framework@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/protractor-cucumber-framework/-/protractor-cucumber-framework-1.0.1.tgz#2f82edacd1856879981f8255322a18b78d90cbf3"
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+
+progress@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
+
+protractor-cucumber-framework@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/protractor-cucumber-framework/-/protractor-cucumber-framework-4.1.1.tgz#c77e197b99c8c212754665aabbdd81991e85305a"
dependencies:
- debug "^2.2.0"
+ debug "^3.1.0"
glob "^7.0.3"
- object-assign "^4.0.1"
q "^1.4.1"
+ tmp "^0.0.33"
-protractor@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.1.1.tgz#10c4e336571b28875b8acc3ae3e4e1e40ef7e986"
+protractor@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.2.0.tgz#d3f39b195e85f3539ad9d8cb6560a9d2b63297c4"
dependencies:
"@types/node" "^6.0.46"
"@types/q" "^0.0.32"
@@ -725,14 +882,14 @@ protractor@^5.1.1:
chalk "^1.1.3"
glob "^7.0.3"
jasmine "^2.5.3"
- jasminewd2 "^2.0.0"
+ jasminewd2 "^2.1.0"
optimist "~0.6.0"
q "1.4.1"
saucelabs "~1.3.0"
- selenium-webdriver "3.0.1"
+ selenium-webdriver "3.6.0"
source-map-support "~0.4.0"
webdriver-js-extender "^1.0.0"
- webdriver-manager "^12.0.1"
+ webdriver-manager "^12.0.6"
punycode@^1.4.1:
version "1.4.1"
@@ -746,6 +903,17 @@ qs@~6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+readable-stream@~2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~0.10.x"
+ util-deprecate "~1.0.1"
+
regenerator-runtime@^0.10.0:
version "0.10.3"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e"
@@ -781,12 +949,24 @@ request@^2.78.0:
tunnel-agent "^0.6.0"
uuid "^3.0.0"
+resolve@^1.3.3:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
+ dependencies:
+ path-parse "^1.0.5"
+
rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4:
version "2.6.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
glob "^7.0.5"
+rimraf@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ dependencies:
+ glob "^7.0.5"
+
safe-buffer@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
@@ -805,11 +985,11 @@ sax@>=0.6.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828"
-selenium-webdriver@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.0.1.tgz#a2dea5da4a97f6672e89e7ca7276cefa365147a7"
+selenium-webdriver@3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc"
dependencies:
- adm-zip "^0.4.7"
+ jszip "^3.1.3"
rimraf "^2.5.4"
tmp "0.0.30"
xml2js "^0.4.17"
@@ -863,43 +1043,43 @@ sshpk@^1.7.0:
jsbn "~0.1.0"
tweetnacl "~0.14.0"
-stack-chain@^1.3.5:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
+stack-chain@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-2.0.0.tgz#d73d1172af89565f07438b5bcc086831b6689b2d"
-stack-generator@^1.0.7:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-1.1.0.tgz#36f6a920751a6c10f499a13c32cbb5f51a0b8b25"
+stack-generator@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.2.tgz#3c13d952a596ab9318fec0669d0a1df8b87176c7"
dependencies:
- stackframe "^1.0.2"
-
-stackframe@^0.3.1, stackframe@~0.3:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
+ stackframe "^1.0.4"
-stackframe@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.2.tgz#162245509c687d328b14f671dab8fdb755b1e1e8"
+stackframe@^1.0.3, stackframe@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b"
-stacktrace-gps@^2.4.3:
- version "2.4.4"
- resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-2.4.4.tgz#69c827e9d6d6f41cf438d7f195e2e3cbfcf28c44"
+stacktrace-gps@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.2.tgz#33f8baa4467323ab2bd1816efa279942ba431ccc"
dependencies:
source-map "0.5.6"
- stackframe "~0.3"
+ stackframe "^1.0.4"
-stacktrace-js@^1.3.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-1.3.1.tgz#67cab2589af5c417b962f7369940277bb3b6a18b"
+stacktrace-js@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.0.tgz#776ca646a95bc6c6b2b90776536a7fc72c6ddb58"
dependencies:
- error-stack-parser "^1.3.6"
- stack-generator "^1.0.7"
- stacktrace-gps "^2.4.3"
+ error-stack-parser "^2.0.1"
+ stack-generator "^2.0.1"
+ stacktrace-gps "^3.0.1"
string-argv@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736"
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+
stringstream@~0.0.4:
version "0.0.5"
resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
@@ -910,11 +1090,9 @@ strip-ansi@^3.0.0:
dependencies:
ansi-regex "^2.0.0"
-strip-bom@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
- dependencies:
- is-utf8 "^0.2.0"
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
strip-json-comments@^2.0.0:
version "2.0.1"
@@ -924,6 +1102,12 @@ supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+supports-color@^4.0.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ dependencies:
+ has-flag "^2.0.0"
+
thenify-all@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
@@ -936,6 +1120,13 @@ thenify-all@^1.0.0:
dependencies:
any-promise "^1.0.0"
+title-case@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.0.3"
+
tmp@0.0.24:
version "0.0.24"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.24.tgz#d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12"
@@ -946,36 +1137,42 @@ tmp@0.0.30:
dependencies:
os-tmpdir "~1.0.1"
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ dependencies:
+ os-tmpdir "~1.0.2"
+
tough-cookie@~2.3.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
dependencies:
punycode "^1.4.1"
-ts-node@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-2.1.0.tgz#aa2bf4b2e25c5fb6a7c54701edc3666d3a9db25d"
+traverse-chain@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1"
+
+ts-node@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69"
dependencies:
arrify "^1.0.0"
- chalk "^1.1.1"
+ chalk "^2.0.0"
diff "^3.1.0"
make-error "^1.1.1"
minimist "^1.2.0"
mkdirp "^0.5.1"
- pinkie "^2.0.4"
source-map-support "^0.4.0"
- tsconfig "^5.0.2"
- v8flags "^2.0.11"
- xtend "^4.0.0"
- yn "^1.2.0"
+ tsconfig "^6.0.0"
+ v8flags "^3.0.0"
+ yn "^2.0.0"
-tsconfig@^5.0.2:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-5.0.3.tgz#5f4278e701800967a8fc383fd19648878f2a6e3a"
+tsconfig@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032"
dependencies:
- any-promise "^1.3.0"
- parse-json "^2.2.0"
- strip-bom "^2.0.0"
+ strip-bom "^3.0.0"
strip-json-comments "^2.0.0"
tunnel-agent@^0.6.0:
@@ -988,49 +1185,43 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-type-detect@0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822"
+type-detect@^4.0.0:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2"
-type-detect@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2"
-
-typescript@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.1.tgz#4862b662b988a4c8ff691cc7969622d24db76ae9"
+typescript@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631"
ultron@1.0.x:
version "1.0.2"
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
-upper-case-first@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
- dependencies:
- upper-case "^1.1.1"
+universalify@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
-upper-case@^1.1.1:
+upper-case@^1.0.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
-user-home@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
-
util-arity@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/util-arity/-/util-arity-1.1.0.tgz#59d01af1fdb3fede0ac4e632b0ab5f6ce97c9330"
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
uuid@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
-v8flags@^2.0.11:
- version "2.0.11"
- resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881"
+v8flags@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.1.tgz#dce8fc379c17d9f2c9e9ed78d89ce00052b1b76b"
dependencies:
- user-home "^1.1.1"
+ homedir-polyfill "^1.0.1"
verror@1.3.6:
version "1.3.6"
@@ -1053,9 +1244,9 @@ webdriver-js-extender@^1.0.0:
"@types/selenium-webdriver" "^2.53.35"
selenium-webdriver "^2.53.2"
-webdriver-manager@^12.0.1:
- version "12.0.3"
- resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-12.0.3.tgz#b4a0a1391ceb7e147ea035a393bc1c61143fc656"
+webdriver-manager@^12.0.6:
+ version "12.0.6"
+ resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-12.0.6.tgz#3df1a481977010b4cbf8c9d85c7a577828c0e70b"
dependencies:
adm-zip "^0.4.7"
chalk "^1.1.1"
@@ -1104,10 +1295,6 @@ xmlbuilder@>=1.0.0, xmlbuilder@^4.1.0:
dependencies:
lodash "^4.0.0"
-xtend@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
-
-yn@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/yn/-/yn-1.2.0.tgz#d237a4c533f279b2b89d3acac2db4b8c795e4a63"
+yn@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a"
diff --git a/tests/protractor-typescript-cucumber/protractorTypeScriptCucumber_spec.ts b/tests/protractor-typescript-cucumber/protractorTypeScriptCucumber_spec.ts
index d585db3..d0d4869 100644
--- a/tests/protractor-typescript-cucumber/protractorTypeScriptCucumber_spec.ts
+++ b/tests/protractor-typescript-cucumber/protractorTypeScriptCucumber_spec.ts
@@ -24,40 +24,8 @@ describe('protractor typescript cucumber', () => {
it('console output', () => {
let findLines = [
- '@AddScenario',
- 'Scenario: Add two numbers',
- '✔ Given I am on ng1 calculator page',
- '✔ When I calculate "3" "+" "5"',
- '✔ Then the result "8" should be displayed',
-
- '@SubtractScenario',
- 'Scenario: Subtract two numbers',
- '✔ Given I am on ng1 calculator page',
- '✔ When I calculate "7" "-" "5"',
- '✔ Then the result "2" should be displayed',
- 'Feature: To test the modulus feature of ng1 calculator',
-
- '@ModulusScenario',
- 'Scenario: Modulus of two numbers',
- '✔ Given I am on ng1 calculator page',
- '✔ When I calculate "6" "%" "4"',
- '✔ Then the result "2" should be displayed',
-
- 'Feature: To test the multiply & divide feature of ng1 calculator',
- '@MultiplyScenario',
- 'Scenario: Multiply two numbers',
- '✔ Given I am on ng1 calculator page',
- '✔ When I calculate "3" "*" "5"',
- '✔ Then the result "15" should be displayed',
-
- '@DivideScenario',
- 'Scenario: Divide two numbers',
- '✔ Given I am on ng1 calculator page',
- '✔ When I calculate "10" "/" "5"',
- '✔ Then the result "2" should be displayed',
-
- '5 passed',
- '15 passed'
+ '5 scenarios',
+ '15 steps'
];
expect(lines).not.toBeNull();
expect(TestUtils.checkContents(lines, findLines)).toBeTruthy();