chore(ci): update Protractor version, remove custom waits

The latest Protractor version supports waiting for Angular2 applications,
so remove custom waiting logic.

Closes #3829
This commit is contained in:
Julie Ralph 2015-10-06 21:00:26 -07:00
parent fcc6f2c561
commit af1119063c
13 changed files with 697 additions and 236 deletions

View File

@ -5,6 +5,7 @@ var bind = benchpress.bind;
var Options = benchpress.Options;
export function runClickBenchmark(config) {
browser.ignoreSynchronization = !config.waitForAngular2;
var buttons = config.buttons.map(function(selector) { return $(selector); });
config.work = function() { buttons.forEach(function(button) { button.click(); }); };
return runBenchmark(config);
@ -24,9 +25,7 @@ export function runBenchmark(config) {
});
}
var url = encodeURI(config.url + '?' + urlParams.join('&'));
var getter = config.waitForAngular2 !== false ? browser.get(url) :
browser.driver.get(browser.baseUrl + url);
return getter.then(function() {
return browser.get(url).then(function() {
return global['benchpressRunner'].sample({
id: config.id,
execute: config.work,

View File

@ -36,7 +36,7 @@ export class SeleniumWebDriverAdapter extends WebDriverAdapter {
capabilities(): Promise<any> {
return this._convertPromise(
this._driver.getCapabilities().then((capsObject) => capsObject.toJSON()));
this._driver.getCapabilities().then((capsObject) => capsObject.serialize()));
}
logs(type: string): Promise<any> {

View File

@ -1,11 +1,5 @@
import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
function whenStable(rootSelector) {
// TODO(hankduan): remove this call once Protractor implements it
return browser.executeAsyncScript('var el = document.querySelector("' + rootSelector + '");' +
'window.getAngularTestability(el).whenStable(arguments[0]);');
};
describe('async', () => {
var URL = 'examples/src/async/index.html';
@ -20,52 +14,49 @@ describe('async', () => {
it('should wait for asynchronous actions', () => {
var timeout = $('#delayedIncrement');
timeout.$('.action').click();
// At this point, the async action is still pending, so the count should
// still be 0.
expect(timeout.$('.val').getText()).toEqual('0');
whenStable('async-app')
.then(() => {
timeout.$('.action').click();
// whenStable should only be called when the async action finished,
// so the count should be 1 at this point.
expect(timeout.$('.val').getText()).toEqual('1');
});
});
it('should notice when asynchronous actions are cancelled', () => {
var timeout = $('#delayedIncrement');
timeout.$('.action').click();
// At this point, the async action is still pending, so the count should
// still be 0.
expect(timeout.$('.val').getText()).toEqual('0');
browser.ignoreSynchronization = true;
timeout.$('.action').click();
timeout.$('.cancel').click();
whenStable('async-app')
.then(() => {
browser.ignoreSynchronization = false;
// whenStable should be called since the async action is cancelled. The
// count should still be 0;
expect(timeout.$('.val').getText()).toEqual('0');
});
});
it('should wait for a series of asynchronous actions', () => {
var timeout = $('#multiDelayedIncrements');
timeout.$('.action').click();
// At this point, the async action is still pending, so the count should
// still be 0.
expect(timeout.$('.val').getText()).toEqual('0');
whenStable('async-app')
.then(() => {
timeout.$('.action').click();
// whenStable should only be called when all the async actions
// finished, so the count should be 10 at this point.
expect(timeout.$('.val').getText()).toEqual('10');
});
});
afterEach(verifyNoBrowserErrors);
});

View File

@ -11,7 +11,6 @@ describe('http', function() {
it('should fetch and display people', function() {
browser.get(URL);
browser.sleep(200);
expect(getComponentText('http-app', '.people')).toEqual('hello, Jeff');
});
});

View File

@ -11,7 +11,6 @@ describe('jsonp', function() {
it('should fetch and display people', function() {
browser.get(URL);
browser.sleep(200);
expect(getComponentText('jsonp-app', '.people')).toEqual('hello, caitp');
});
});

View File

@ -11,7 +11,6 @@ describe('md-dialog', function() {
openButton.click();
var dialog = element(by.css('.md-dialog'));
browser.sleep(500);
expect(dialog.isPresent()).toEqual(true);

View File

@ -2,21 +2,27 @@ import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
import {Promise} from 'angular2/src/core/facade/async';
describe('WebWorkers Kitchen Sink', function() {
afterEach(verifyNoBrowserErrors);
afterEach(() => {
verifyNoBrowserErrors();
browser.ignoreSynchronization = false;
});
var selector = "hello-app .greeting";
var URL = browser.baseUrl + "examples/src/web_workers/kitchen_sink/index.html";
var URL = "examples/src/web_workers/kitchen_sink/index.html";
it('should greet', () => {
// This test can't wait for Angular 2 as Testability is not available when using WebWorker
browser.driver.get(URL);
browser.ignoreSynchronization = true;
browser.get(URL);
browser.wait(protractor.until.elementLocated(by.css(selector)), 15000);
expect(element.all(by.css(selector)).first().getText()).toEqual("hello world!");
});
it('should change greeting', () => {
// This test can't wait for Angular 2 as Testability is not available when using WebWorker
browser.driver.get(URL);
browser.ignoreSynchronization = true;
browser.get(URL);
browser.wait(protractor.until.elementLocated(by.css(selector)), 15000);
element(by.css("hello-app .changeButton")).click();
@ -27,7 +33,8 @@ describe('WebWorkers Kitchen Sink', function() {
it("should display correct key names", () => {
// This test can't wait for Angular 2 as Testability is not available when using WebWorker
browser.driver.get(URL);
browser.ignoreSynchronization = true;
browser.get(URL);
browser.wait(protractor.until.elementLocated(by.css(".sample-area")), 15000);
var area = element.all(by.css(".sample-area")).first();

View File

@ -1,15 +1,19 @@
import {verifyNoBrowserErrors} from "angular2/src/test_lib/e2e_util";
import {PromiseWrapper} from "angular2/src/core/facade/async";
var URL = browser.baseUrl + 'examples/src/web_workers/message_broker/index.html';
var URL = 'examples/src/web_workers/message_broker/index.html';
describe("MessageBroker", function() {
afterEach(verifyNoBrowserErrors);
afterEach(() => {
verifyNoBrowserErrors();
browser.ignoreSynchronization = false;
});
it("should bootstrap", () => {
// This test can't wait for Angular 2 as Testability is not available when using WebWorker
browser.driver.get(URL);
browser.ignoreSynchronization = true;
browser.get(URL);
waitForBootstrap();
expect(element(by.css("app h1")).getText()).toEqual("WebWorker MessageBroker Test");
});
@ -17,7 +21,8 @@ describe("MessageBroker", function() {
it("should echo messages", () => {
const VALUE = "Hi There";
// This test can't wait for Angular 2 as Testability is not available when using WebWorker
browser.driver.get(URL);
browser.ignoreSynchronization = true;
browser.get(URL);
waitForBootstrap();
var input = element.all(by.css("#echo_input")).first();

View File

@ -2,13 +2,17 @@ import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
import {Promise} from 'angular2/src/core/facade/async';
describe('WebWorkers Todo', function() {
afterEach(verifyNoBrowserErrors);
afterEach(() => {
verifyNoBrowserErrors();
browser.ignoreSynchronization = false;
});
var URL = browser.baseUrl + "examples/src/web_workers/todo/index.html";
var URL = "examples/src/web_workers/todo/index.html";
it('should bootstrap', () => {
// This test can't wait for Angular 2 as Testability is not available when using WebWorker
browser.driver.get(URL);
browser.ignoreSynchronization = true;
browser.get(URL);
waitForBootstrap();
expect(element(by.css("#todoapp header")).getText()).toEqual("todos");

View File

@ -10235,29 +10235,45 @@
"version": "1.3.2"
},
"protractor": {
"version": "2.1.0",
"version": "2.5.0",
"dependencies": {
"request": {
"version": "2.36.0",
"version": "2.57.0",
"dependencies": {
"qs": {
"version": "0.6.6"
"bl": {
"version": "0.9.4",
"dependencies": {
"readable-stream": {
"version": "1.0.33",
"dependencies": {
"core-util-is": {
"version": "1.0.1"
},
"json-stringify-safe": {
"version": "5.0.1"
"isarray": {
"version": "0.0.1"
},
"mime": {
"version": "1.2.11"
"string_decoder": {
"version": "0.10.31"
},
"inherits": {
"version": "2.0.1"
}
}
}
}
},
"caseless": {
"version": "0.10.0"
},
"forever-agent": {
"version": "0.5.2"
},
"tough-cookie": {
"version": "1.1.0"
"version": "0.6.1"
},
"form-data": {
"version": "0.1.4",
"version": "0.2.0",
"dependencies": {
"async": {
"version": "0.9.2"
},
"combined-stream": {
"version": "0.0.7",
"dependencies": {
@ -10265,17 +10281,31 @@
"version": "0.0.5"
}
}
}
}
},
"async": {
"version": "0.9.2"
"json-stringify-safe": {
"version": "5.0.1"
},
"mime-types": {
"version": "2.0.14",
"dependencies": {
"mime-db": {
"version": "1.12.0"
}
}
},
"qs": {
"version": "3.1.0"
},
"tunnel-agent": {
"version": "0.4.0"
"version": "0.4.1"
},
"tough-cookie": {
"version": "2.2.0"
},
"http-signature": {
"version": "0.10.1",
"version": "0.11.0",
"dependencies": {
"assert-plus": {
"version": "0.1.5"
@ -10289,27 +10319,106 @@
}
},
"oauth-sign": {
"version": "0.3.0"
"version": "0.8.0"
},
"hawk": {
"version": "1.0.0",
"version": "2.3.1",
"dependencies": {
"hoek": {
"version": "0.9.1"
"version": "2.16.3"
},
"boom": {
"version": "0.4.2"
"version": "2.9.0"
},
"cryptiles": {
"version": "0.2.2"
"version": "2.0.5"
},
"sntp": {
"version": "0.2.4"
"version": "1.0.9"
}
}
},
"aws-sign2": {
"version": "0.5.0"
},
"stringstream": {
"version": "0.0.4"
},
"combined-stream": {
"version": "1.0.5",
"dependencies": {
"delayed-stream": {
"version": "1.0.0"
}
}
},
"isstream": {
"version": "0.1.2"
},
"har-validator": {
"version": "1.8.0",
"dependencies": {
"bluebird": {
"version": "2.10.2"
},
"chalk": {
"version": "1.1.1",
"dependencies": {
"ansi-styles": {
"version": "2.1.0"
},
"escape-string-regexp": {
"version": "1.0.3"
},
"has-ansi": {
"version": "2.0.0",
"dependencies": {
"ansi-regex": {
"version": "2.0.0"
}
}
},
"strip-ansi": {
"version": "3.0.0",
"dependencies": {
"ansi-regex": {
"version": "2.0.0"
}
}
},
"supports-color": {
"version": "2.0.0"
}
}
},
"commander": {
"version": "2.8.1",
"dependencies": {
"graceful-readlink": {
"version": "1.0.1"
}
}
},
"is-my-json-valid": {
"version": "2.12.2",
"dependencies": {
"generate-function": {
"version": "2.0.0"
},
"generate-object-property": {
"version": "1.2.0",
"dependencies": {
"is-property": {
"version": "1.0.2"
}
}
},
"jsonpointer": {
"version": "2.0.0"
}
}
}
}
}
}
},
@ -10320,10 +10429,44 @@
"version": "1.1.0"
},
"jasminewd2": {
"version": "0.0.5"
"version": "0.0.6"
},
"jasmine": {
"version": "2.3.2",
"dependencies": {
"exit": {
"version": "0.1.2"
}
}
},
"saucelabs": {
"version": "0.1.1"
"version": "1.0.1",
"dependencies": {
"https-proxy-agent": {
"version": "1.0.0",
"dependencies": {
"agent-base": {
"version": "2.0.1",
"dependencies": {
"semver": {
"version": "5.0.3"
}
}
},
"debug": {
"version": "2.2.0",
"dependencies": {
"ms": {
"version": "0.7.1"
}
}
},
"extend": {
"version": "3.0.0"
}
}
}
}
},
"glob": {
"version": "3.2.11",
@ -10335,7 +10478,7 @@
"version": "0.3.0",
"dependencies": {
"lru-cache": {
"version": "2.6.4"
"version": "2.7.0"
},
"sigmund": {
"version": "1.0.1"
@ -10368,14 +10511,14 @@
"version": "0.1.32",
"dependencies": {
"amdefine": {
"version": "0.1.0"
"version": "1.0.0"
}
}
}
}
},
"html-entities": {
"version": "1.1.2"
"version": "1.1.3"
},
"accessibility-developer-tools": {
"version": "2.6.0"
@ -10460,25 +10603,76 @@
"version": "2.5.1"
},
"selenium-webdriver": {
"version": "2.45.1",
"version": "2.47.0",
"dependencies": {
"adm-zip": {
"version": "0.4.4"
},
"rimraf": {
"version": "2.3.3"
"version": "2.4.3",
"dependencies": {
"glob": {
"version": "5.0.15",
"dependencies": {
"inflight": {
"version": "1.0.4",
"dependencies": {
"wrappy": {
"version": "1.0.1"
}
}
},
"inherits": {
"version": "2.0.1"
},
"once": {
"version": "1.3.2",
"dependencies": {
"wrappy": {
"version": "1.0.1"
}
}
},
"path-is-absolute": {
"version": "1.0.0"
}
}
}
}
},
"tmp": {
"version": "0.0.24"
},
"ws": {
"version": "0.7.1",
"version": "0.8.0",
"dependencies": {
"options": {
"version": "0.0.6"
},
"ultron": {
"version": "1.0.1"
"version": "1.0.2"
},
"bufferutil": {
"version": "1.2.1",
"dependencies": {
"bindings": {
"version": "1.2.1"
},
"nan": {
"version": "2.0.9"
}
}
},
"utf-8-validate": {
"version": "1.2.1",
"dependencies": {
"bindings": {
"version": "1.2.1"
},
"nan": {
"version": "2.0.9"
}
}
}
}
},
@ -10489,10 +10683,10 @@
"version": "0.6.1"
},
"xmlbuilder": {
"version": "2.6.2",
"version": "3.1.0",
"dependencies": {
"lodash": {
"version": "3.5.0"
"version": "3.10.1"
}
}
}
@ -11491,5 +11685,5 @@
}
},
"name": "angular",
"version": "2.0.0-alpha.38"
"version": "2.0.0-alpha.39"
}

528
npm-shrinkwrap.json generated
View File

@ -1,6 +1,6 @@
{
"name": "angular",
"version": "2.0.0-alpha.38",
"version": "2.0.0-alpha.39",
"dependencies": {
"@reactivex/rxjs": {
"version": "0.0.0-prealpha.3",
@ -15807,173 +15807,388 @@
"resolved": "https://registry.npmjs.org/parse5/-/parse5-1.3.2.tgz"
},
"protractor": {
"version": "2.1.0",
"from": "https://registry.npmjs.org/protractor/-/protractor-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/protractor/-/protractor-2.1.0.tgz",
"version": "2.5.0",
"from": "protractor@2.5.0",
"dependencies": {
"request": {
"version": "2.36.0",
"from": "https://registry.npmjs.org/request/-/request-2.36.0.tgz",
"resolved": "https://registry.npmjs.org/request/-/request-2.36.0.tgz",
"version": "2.57.0",
"from": "request@>=2.57.0 <2.58.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.57.0.tgz",
"dependencies": {
"qs": {
"version": "0.6.6",
"from": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz",
"resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
"bl": {
"version": "0.9.4",
"from": "bl@>=0.9.0 <0.10.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-0.9.4.tgz",
"dependencies": {
"readable-stream": {
"version": "1.0.33",
"from": "readable-stream@>=1.0.26 <1.1.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz",
"dependencies": {
"core-util-is": {
"version": "1.0.1",
"from": "core-util-is@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
},
"json-stringify-safe": {
"version": "5.0.1",
"from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
"isarray": {
"version": "0.0.1",
"from": "isarray@0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"mime": {
"version": "1.2.11",
"from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
"string_decoder": {
"version": "0.10.31",
"from": "string_decoder@>=0.10.0 <0.11.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
},
"inherits": {
"version": "2.0.1",
"from": "inherits@>=2.0.1 <2.1.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
}
}
}
}
},
"caseless": {
"version": "0.10.0",
"from": "caseless@>=0.10.0 <0.11.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.10.0.tgz"
},
"forever-agent": {
"version": "0.5.2",
"from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
},
"tough-cookie": {
"version": "1.1.0",
"from": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-1.1.0.tgz"
"version": "0.6.1",
"from": "forever-agent@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
},
"form-data": {
"version": "0.1.4",
"from": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
"version": "0.2.0",
"from": "form-data@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
"dependencies": {
"async": {
"version": "0.9.2",
"from": "async@>=0.9.0 <0.10.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz"
},
"combined-stream": {
"version": "0.0.7",
"from": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
"from": "combined-stream@>=0.0.4 <0.1.0",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
"dependencies": {
"delayed-stream": {
"version": "0.0.5",
"from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
"from": "delayed-stream@0.0.5",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
}
}
}
}
},
"async": {
"version": "0.9.2",
"from": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz"
"json-stringify-safe": {
"version": "5.0.1",
"from": "json-stringify-safe@>=5.0.0 <5.1.0",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
},
"mime-types": {
"version": "2.0.14",
"from": "mime-types@>=2.0.1 <2.1.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",
"dependencies": {
"mime-db": {
"version": "1.12.0",
"from": "mime-db@>=1.12.0 <1.13.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz"
}
}
},
"qs": {
"version": "3.1.0",
"from": "qs@>=3.1.0 <3.2.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-3.1.0.tgz"
},
"tunnel-agent": {
"version": "0.4.0",
"from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz"
"version": "0.4.1",
"from": "tunnel-agent@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz"
},
"tough-cookie": {
"version": "2.2.0",
"from": "tough-cookie@>=0.12.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.0.tgz"
},
"http-signature": {
"version": "0.10.1",
"from": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
"version": "0.11.0",
"from": "http-signature@>=0.11.0 <0.12.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz",
"dependencies": {
"assert-plus": {
"version": "0.1.5",
"from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
"from": "assert-plus@>=0.1.5 <0.2.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz"
},
"asn1": {
"version": "0.1.11",
"from": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
"from": "asn1@0.1.11",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
},
"ctype": {
"version": "0.5.3",
"from": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
"from": "ctype@0.5.3",
"resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"
}
}
},
"oauth-sign": {
"version": "0.3.0",
"from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"
"version": "0.8.0",
"from": "oauth-sign@>=0.8.0 <0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz"
},
"hawk": {
"version": "1.0.0",
"from": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
"version": "2.3.1",
"from": "hawk@>=2.3.0 <2.4.0",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz",
"dependencies": {
"hoek": {
"version": "0.9.1",
"from": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
"version": "2.16.3",
"from": "hoek@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
},
"boom": {
"version": "0.4.2",
"from": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
"resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
"version": "2.9.0",
"from": "boom@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.9.0.tgz"
},
"cryptiles": {
"version": "0.2.2",
"from": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"
"version": "2.0.5",
"from": "cryptiles@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"
},
"sntp": {
"version": "0.2.4",
"from": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
"version": "1.0.9",
"from": "sntp@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
}
}
},
"aws-sign2": {
"version": "0.5.0",
"from": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
"from": "aws-sign2@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
},
"stringstream": {
"version": "0.0.4",
"from": "stringstream@>=0.0.4 <0.1.0",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz"
},
"combined-stream": {
"version": "1.0.5",
"from": "combined-stream@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"dependencies": {
"delayed-stream": {
"version": "1.0.0",
"from": "delayed-stream@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
}
}
},
"isstream": {
"version": "0.1.2",
"from": "isstream@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
},
"har-validator": {
"version": "1.8.0",
"from": "har-validator@>=1.6.1 <2.0.0",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz",
"dependencies": {
"bluebird": {
"version": "2.10.2",
"from": "bluebird@>=2.9.30 <3.0.0",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz"
},
"chalk": {
"version": "1.1.1",
"from": "chalk@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz",
"dependencies": {
"ansi-styles": {
"version": "2.1.0",
"from": "ansi-styles@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"
},
"escape-string-regexp": {
"version": "1.0.3",
"from": "escape-string-regexp@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
},
"has-ansi": {
"version": "2.0.0",
"from": "has-ansi@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
}
}
},
"strip-ansi": {
"version": "3.0.0",
"from": "strip-ansi@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz",
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
}
}
},
"supports-color": {
"version": "2.0.0",
"from": "supports-color@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
}
}
},
"commander": {
"version": "2.8.1",
"from": "commander@>=2.8.1 <3.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"dependencies": {
"graceful-readlink": {
"version": "1.0.1",
"from": "graceful-readlink@>=1.0.0",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
}
}
},
"is-my-json-valid": {
"version": "2.12.2",
"from": "is-my-json-valid@>=2.12.0 <3.0.0",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.2.tgz",
"dependencies": {
"generate-function": {
"version": "2.0.0",
"from": "generate-function@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
},
"generate-object-property": {
"version": "1.2.0",
"from": "generate-object-property@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"dependencies": {
"is-property": {
"version": "1.0.2",
"from": "is-property@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
}
}
},
"jsonpointer": {
"version": "2.0.0",
"from": "jsonpointer@2.0.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
}
}
}
}
}
}
},
"minijasminenode": {
"version": "1.1.1",
"from": "https://registry.npmjs.org/minijasminenode/-/minijasminenode-1.1.1.tgz",
"from": "minijasminenode@1.1.1",
"resolved": "https://registry.npmjs.org/minijasminenode/-/minijasminenode-1.1.1.tgz"
},
"jasminewd": {
"version": "1.1.0",
"from": "https://registry.npmjs.org/jasminewd/-/jasminewd-1.1.0.tgz",
"from": "jasminewd@1.1.0",
"resolved": "https://registry.npmjs.org/jasminewd/-/jasminewd-1.1.0.tgz"
},
"jasminewd2": {
"version": "0.0.5",
"from": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.5.tgz",
"resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.5.tgz"
"version": "0.0.6",
"from": "jasminewd2@0.0.6"
},
"jasmine": {
"version": "2.3.2",
"from": "jasmine@2.3.2",
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.3.2.tgz",
"dependencies": {
"exit": {
"version": "0.1.2",
"from": "exit@>=0.1.2 <0.2.0",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
}
}
},
"saucelabs": {
"version": "0.1.1",
"from": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz",
"resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz"
"version": "1.0.1",
"from": "saucelabs@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.0.1.tgz",
"dependencies": {
"https-proxy-agent": {
"version": "1.0.0",
"from": "https-proxy-agent@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
"dependencies": {
"agent-base": {
"version": "2.0.1",
"from": "agent-base@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz",
"dependencies": {
"semver": {
"version": "5.0.3",
"from": "semver@>=5.0.1 <5.1.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz"
}
}
},
"debug": {
"version": "2.2.0",
"from": "debug@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"dependencies": {
"ms": {
"version": "0.7.1",
"from": "ms@0.7.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
}
}
},
"extend": {
"version": "3.0.0",
"from": "extend@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"
}
}
}
}
},
"glob": {
"version": "3.2.11",
"from": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
"from": "glob@>=3.2.0 <3.3.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
"dependencies": {
"inherits": {
"version": "2.0.1",
"from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
"from": "inherits@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
},
"minimatch": {
"version": "0.3.0",
"from": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"from": "minimatch@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"dependencies": {
"lru-cache": {
"version": "2.6.4",
"from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz"
"version": "2.7.0",
"from": "lru-cache@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.0.tgz"
},
"sigmund": {
"version": "1.0.1",
"from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"from": "sigmund@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
}
}
@ -15982,58 +16197,58 @@
},
"adm-zip": {
"version": "0.4.4",
"from": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz",
"from": "adm-zip@0.4.4",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz"
},
"optimist": {
"version": "0.6.1",
"from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"from": "optimist@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"dependencies": {
"wordwrap": {
"version": "0.0.3",
"from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
"from": "wordwrap@>=0.0.2 <0.1.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"
},
"minimist": {
"version": "0.0.10",
"from": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"from": "minimist@>=0.0.1 <0.1.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"
}
}
},
"q": {
"version": "1.0.0",
"from": "https://registry.npmjs.org/q/-/q-1.0.0.tgz",
"from": "q@1.0.0",
"resolved": "https://registry.npmjs.org/q/-/q-1.0.0.tgz"
},
"source-map-support": {
"version": "0.2.10",
"from": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz",
"from": "source-map-support@>=0.2.6 <0.3.0",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz",
"dependencies": {
"source-map": {
"version": "0.1.32",
"from": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
"from": "source-map@0.1.32",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
"dependencies": {
"amdefine": {
"version": "0.1.0",
"from": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
"version": "1.0.0",
"from": "amdefine@>=0.0.4",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz"
}
}
}
}
},
"html-entities": {
"version": "1.1.2",
"from": "https://registry.npmjs.org/html-entities/-/html-entities-1.1.2.tgz",
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.1.2.tgz"
"version": "1.1.3",
"from": "html-entities@>=1.1.1 <1.2.0",
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.1.3.tgz"
},
"accessibility-developer-tools": {
"version": "2.6.0",
"from": "https://registry.npmjs.org/accessibility-developer-tools/-/accessibility-developer-tools-2.6.0.tgz",
"from": "accessibility-developer-tools@>=2.6.0 <2.7.0",
"resolved": "https://registry.npmjs.org/accessibility-developer-tools/-/accessibility-developer-tools-2.6.0.tgz"
}
}
@ -16158,61 +16373,138 @@
"resolved": "https://registry.npmjs.org/rx/-/rx-2.5.1.tgz"
},
"selenium-webdriver": {
"version": "2.45.1",
"from": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.45.1.tgz",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.45.1.tgz",
"version": "2.47.0",
"from": "selenium-webdriver@2.47.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.47.0.tgz",
"dependencies": {
"adm-zip": {
"version": "0.4.4",
"from": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz",
"from": "adm-zip@0.4.4",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz"
},
"rimraf": {
"version": "2.3.3",
"from": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.3.tgz",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.3.tgz"
"version": "2.4.3",
"from": "rimraf@>=2.2.8 <3.0.0",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.3.tgz",
"dependencies": {
"glob": {
"version": "5.0.15",
"from": "glob@>=5.0.14 <6.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"dependencies": {
"inflight": {
"version": "1.0.4",
"from": "inflight@>=1.0.4 <2.0.0",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz",
"dependencies": {
"wrappy": {
"version": "1.0.1",
"from": "wrappy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
}
}
},
"inherits": {
"version": "2.0.1",
"from": "inherits@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
},
"once": {
"version": "1.3.2",
"from": "once@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz",
"dependencies": {
"wrappy": {
"version": "1.0.1",
"from": "wrappy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
}
}
},
"path-is-absolute": {
"version": "1.0.0",
"from": "path-is-absolute@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
}
}
}
}
},
"tmp": {
"version": "0.0.24",
"from": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz",
"from": "tmp@0.0.24",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz"
},
"ws": {
"version": "0.7.1",
"from": "https://registry.npmjs.org/ws/-/ws-0.7.1.tgz",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.7.1.tgz",
"version": "0.8.0",
"from": "ws@>=0.8.0 <0.9.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.8.0.tgz",
"dependencies": {
"options": {
"version": "0.0.6",
"from": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
"from": "options@>=0.0.5",
"resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz"
},
"ultron": {
"version": "1.0.1",
"from": "https://registry.npmjs.org/ultron/-/ultron-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.1.tgz"
"version": "1.0.2",
"from": "ultron@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz"
},
"bufferutil": {
"version": "1.2.1",
"from": "bufferutil@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-1.2.1.tgz",
"dependencies": {
"bindings": {
"version": "1.2.1",
"from": "bindings@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz"
},
"nan": {
"version": "2.0.9",
"from": "nan@>=2.0.5 <3.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.0.9.tgz"
}
}
},
"utf-8-validate": {
"version": "1.2.1",
"from": "utf-8-validate@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-1.2.1.tgz",
"dependencies": {
"bindings": {
"version": "1.2.1",
"from": "bindings@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz"
},
"nan": {
"version": "2.0.9",
"from": "nan@>=2.0.5 <3.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.0.9.tgz"
}
}
}
}
},
"xml2js": {
"version": "0.4.4",
"from": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz",
"from": "xml2js@0.4.4",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz",
"dependencies": {
"sax": {
"version": "0.6.1",
"from": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz",
"from": "sax@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz"
},
"xmlbuilder": {
"version": "2.6.2",
"from": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.2.tgz",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.2.tgz",
"version": "3.1.0",
"from": "xmlbuilder@>=1.0.0",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz",
"dependencies": {
"lodash": {
"version": "3.5.0",
"from": "https://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz"
"version": "3.10.1",
"from": "lodash@>=3.5.0 <4.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"
}
}
}
@ -17737,12 +18029,12 @@
},
"zone.js": {
"version": "0.5.8",
"from": "zone.js@0.5.8",
"from": "https://registry.npmjs.org/zone.js/-/zone.js-0.5.8.tgz",
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.5.8.tgz",
"dependencies": {
"es6-promise": {
"version": "3.0.2",
"from": "es6-promise@>=3.0.2 <4.0.0",
"from": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz"
}
}

View File

@ -108,13 +108,13 @@
"node-uuid": "1.4.x",
"on-headers": "^1.0.0",
"parse5": "1.3.2",
"protractor": "2.1.0",
"protractor": "^2.5.0",
"proxy-middleware": "^0.13.0",
"q": "^1.0.1",
"react": "^0.13.2",
"rewire": "^2.3.3",
"run-sequence": "^1.1.0",
"selenium-webdriver": "2.45.1",
"selenium-webdriver": "^2.47.0",
"semver": "^4.3.4",
"shelljs": "^0.5.0",
"sorted-object": "^1.0.0",

View File

@ -132,7 +132,7 @@ var config = exports.config = {
// TODO(juliemr): remove this hack and use the config option
// restartBrowserBetweenTests once that is not hanging.
// See https://github.com/angular/protractor/issues/1983
patchProtractorWait(browser);
//
// During benchmarking, we need to open a new browser
// for every benchmark, otherwise the numbers can get skewed
// from other benchmarks (e.g. Chrome keeps JIT caches, ...)
@ -141,7 +141,6 @@ var config = exports.config = {
var _tmpBrowser;
beforeEach(function() {
global.browser = originalBrowser.forkNewDriverInstance();
patchProtractorWait(global.browser);
global.element = global.browser.element;
global.$ = global.browser.$;
global.$$ = global.browser.$$;
@ -170,6 +169,8 @@ var config = exports.config = {
framework: 'jasmine2',
useAllAngular2AppRoots: true,
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: argv['benchmark'] ? 1200000 : 60000
@ -183,35 +184,6 @@ var config = exports.config = {
}
};
// Disable waiting for Angular as we don't have an integration layer yet...
// TODO(tbosch): Implement a proper debugging API for Ng2.0, remove this here
// and the sleeps in all tests.
function patchProtractorWait(browser) {
browser.ignoreSynchronization = true;
// Benchmarks never need to wait for Angular 2 to be ready
var _get = browser.get;
var sleepInterval = process.env.TRAVIS || process.env.JENKINS_URL ? 14000 : 8000;
browser.get = function() {
var result = _get.apply(this, arguments);
browser.driver.wait(protractor.until.elementLocated(By.js(function() {
var isLoading = true;
if (window.getAllAngularTestabilities) {
var testabilities = window.getAllAngularTestabilities();
if (testabilities && testabilities.length > 0) {
isLoading = false;
testabilities.forEach(function(testability) {
if (!testability.isStable()) {
isLoading = true;
}
});
}
}
return !isLoading ? document.body.children : null;
})), sleepInterval);
return result;
}
}
exports.createBenchpressRunner = function(options) {
// benchpress will also load traceur runtime as our tests are written in es6
var benchpress = require('./dist/build/benchpress_bundle');