From 4d734a623ed2e48510ca5bab3868d3e74dca2fdb Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 12 Jan 2017 17:19:16 +0100 Subject: [PATCH 1/2] chore(e2e): update to latest protractor version * Updates to the latest Protractor version, which now uses Selenium V3 * The new types for Protractor v5 include the fix for the missing `chord` function (See https://github.com/DefinitelyTyped/DefinitelyTyped/commit/123690bb2e0f9dac2371084369a8ecf8976cbb34) * Methods like `innerHtml` have been removed in Protractor v5 (https://github.com/angular/protractor/blob/master/CHANGELOG.md) --- .gitignore | 1 + e2e/components/dialog/dialog.e2e.ts | 2 +- e2e/components/menu/menu-page.ts | 3 +-- package.json | 10 ++++------ test/protractor.conf.js | 6 +----- 5 files changed, 8 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 1f3d7145c431..d92c7f52920f 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ npm-debug.log testem.log /.chrome +yarn.lock diff --git a/e2e/components/dialog/dialog.e2e.ts b/e2e/components/dialog/dialog.e2e.ts index 74f1b397c1aa..b70f8c8c0786 100644 --- a/e2e/components/dialog/dialog.e2e.ts +++ b/e2e/components/dialog/dialog.e2e.ts @@ -102,6 +102,6 @@ describe('dialog', () => { // TODO(crisbeto): should be moved to a common util. copied from the menu e2e setup. function expectFocusOn(el: any): void { - expect(browser.driver.switchTo().activeElement().getInnerHtml()).toBe(el.getInnerHtml()); + expect(browser.driver.switchTo().activeElement().getId()).toBe(el.getId()); } }); diff --git a/e2e/components/menu/menu-page.ts b/e2e/components/menu/menu-page.ts index 7100f0d494f1..4120ab90c49d 100644 --- a/e2e/components/menu/menu-page.ts +++ b/e2e/components/menu/menu-page.ts @@ -39,8 +39,7 @@ export class MenuPage { // TODO(kara): move to common testing utility expectFocusOn(el: any): void { - expect(browser.driver.switchTo().activeElement().getInnerHtml()) - .toBe(el.getInnerHtml()); + expect(browser.driver.switchTo().activeElement().getId()).toBe(el.getId()); } expectMenuPresent(expected: boolean) { diff --git a/package.json b/package.json index 9c2e3263d86d..98729b68dedf 100644 --- a/package.json +++ b/package.json @@ -48,12 +48,10 @@ "@types/merge2": "0.0.28", "@types/minimist": "^1.1.28", "@types/node": "^6.0.34", - "@types/protractor": "^4.0.0", "@types/run-sequence": "0.0.27", "@types/rx": "^2.5.33", - "@types/selenium-webdriver": "2.53.36", "axe-core": "^2.0.7", - "axe-webdriverjs": "^0.4.0", + "axe-webdriverjs": "^0.5.0", "conventional-changelog": "^1.1.0", "dgeni": "^0.4.2", "dgeni-packages": "^0.16.2", @@ -91,16 +89,16 @@ "merge2": "^1.0.2", "minimist": "^1.2.0", "node-sass": "^3.4.2", - "protractor": "^4.0.8", + "protractor": "^5.0.0", "resolve-bin": "^0.4.0", "run-sequence": "^1.2.2", "sass": "^0.5.0", - "selenium-webdriver": "2.53.3", + "selenium-webdriver": "^3.0.1", "strip-ansi": "^3.0.0", "stylelint": "^7.7.0", "symlink-or-copy": "^1.0.1", "travis-after-modes": "0.0.7", - "ts-node": "^0.7.3", + "ts-node": "^2.0.0", "tslint": "^3.13.0", "typedoc": "^0.5.1", "typescript": "~2.0.10", diff --git a/test/protractor.conf.js b/test/protractor.conf.js index 303b757645e1..79a817c8c638 100644 --- a/test/protractor.conf.js +++ b/test/protractor.conf.js @@ -41,6 +41,7 @@ if (process.env['TRAVIS']) { config.sauceKey = key; config.capabilities = { 'browserName': 'chrome', + 'version': 'latest', 'tunnel-identifier': process.env['TRAVIS_JOB_ID'], 'build': process.env['TRAVIS_JOB_ID'], 'name': 'Material 2 E2E Tests', @@ -53,11 +54,6 @@ if (process.env['TRAVIS']) { 'recordVideo': false, 'recordScreenshots': false }; - - // Because Protractor runs selenium instances concurrently in the CI and each instance - // will create a bloat of logs we don't want to show any info messages. - // Until protractor#1451 is solved, manually disable all info messages. - require('protractor/built/logger').Logger.prototype.info = () => {}; } From 76f325e41c9eb7073d6a4173122d30602f4ac5fc Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Fri, 13 Jan 2017 20:30:33 +0100 Subject: [PATCH 2/2] Test later chromedriver version --- test/protractor.conf.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/protractor.conf.js b/test/protractor.conf.js index 79a817c8c638..573770eba5d5 100644 --- a/test/protractor.conf.js +++ b/test/protractor.conf.js @@ -42,6 +42,7 @@ if (process.env['TRAVIS']) { config.capabilities = { 'browserName': 'chrome', 'version': 'latest', + "chromedriverVersion": "2.26", 'tunnel-identifier': process.env['TRAVIS_JOB_ID'], 'build': process.env['TRAVIS_JOB_ID'], 'name': 'Material 2 E2E Tests',