From d0e486d2d8fa0b073e4a40e9f4c625273c9e9973 Mon Sep 17 00:00:00 2001 From: Ken Sodemann Date: Mon, 30 Oct 2017 16:36:12 -0500 Subject: [PATCH] fix(e2e-tests): make sure they are all waiting --- packages/core/scripts/E2ETestPage.js | 16 ++++++++++++ .../action-sheet/test/basic.e2e-spec.js | 26 +++++++------------ .../components/button/test/basic.e2e-spec.js | 10 +++---- .../button/test/toolbar.e2e-spec.js | 8 +++--- 4 files changed, 35 insertions(+), 25 deletions(-) create mode 100644 packages/core/scripts/E2ETestPage.js diff --git a/packages/core/scripts/E2ETestPage.js b/packages/core/scripts/E2ETestPage.js new file mode 100644 index 0000000000..b5dd8e4d89 --- /dev/null +++ b/packages/core/scripts/E2ETestPage.js @@ -0,0 +1,16 @@ +const webdriver = require('selenium-webdriver'); +const By = webdriver.By; +const until = webdriver.until; + +module.exports = class E2ETestPage { + constructor(driver, url) { + this.url = url; + this.driver = driver; + } + + navigate() { + this.driver.navigate().to(this.url); + this.driver.wait(until.elementLocated(By.css('.hydrated'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.hydrated')))); + } +} diff --git a/packages/core/src/components/action-sheet/test/basic.e2e-spec.js b/packages/core/src/components/action-sheet/test/basic.e2e-spec.js index b9fa1826fb..4c32fccc96 100644 --- a/packages/core/src/components/action-sheet/test/basic.e2e-spec.js +++ b/packages/core/src/components/action-sheet/test/basic.e2e-spec.js @@ -5,17 +5,11 @@ const By = webdriver.By; const until = webdriver.until; const register = require('../../../../scripts/register-e2e-test'); +const E2ETestPage = require('../../../../scripts/E2ETestPage'); -class Page { +class ActionSheetE2ETestPage extends E2ETestPage { constructor(driver) { - this.url = 'http://localhost:3333/src/components/action-sheet/test/basic.html'; - this.driver = driver; - } - - navigate() { - this.driver.navigate().to(this.url); - this.driver.wait(until.elementLocated(By.id('cancelOnly'))); - return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.id('cancelOnly')))); + super(driver, 'http://localhost:3333/src/components/action-sheet/test/basic.html'); } present(buttonId) { @@ -28,38 +22,38 @@ class Page { describe('action-sheet: basic', () => { register('navigates', driver => { - const page = new Page(driver); + const page = new ActionSheetE2ETestPage(driver); return page.navigate(); }); describe('present', () => { register('shows basic', driver => { - const page = new Page(driver); + const page = new ActionSheetE2ETestPage(driver); return page.present('basic'); }); register('shows noBackdropDismiss', (driver) => { - const page = new Page(driver); + const page = new ActionSheetE2ETestPage(driver); return page.present('noBackdropDismiss'); }); register('shows alertFromActionSheet', (driver) => { - const page = new Page(driver); + const page = new ActionSheetE2ETestPage(driver); return page.present('alertFromActionSheet'); }); register('shows scrollableOptions', (driver) => { - const page = new Page(driver); + const page = new ActionSheetE2ETestPage(driver); return page.present('scrollableOptions'); }); register('shows scrollWithoutCancel', (driver) => { - const page = new Page(driver); + const page = new ActionSheetE2ETestPage(driver); return page.present('scrollWithoutCancel'); }); register('shows cancelOnly', (driver) => { - const page = new Page(driver); + const page = new ActionSheetE2ETestPage(driver); return page.present('cancelOnly'); }); }); diff --git a/packages/core/src/components/button/test/basic.e2e-spec.js b/packages/core/src/components/button/test/basic.e2e-spec.js index 6696dbc397..748309c307 100644 --- a/packages/core/src/components/button/test/basic.e2e-spec.js +++ b/packages/core/src/components/button/test/basic.e2e-spec.js @@ -1,11 +1,11 @@ -const webdriver = require('selenium-webdriver'); -const By = webdriver.By; -const until = webdriver.until; +'use strict'; const register = require('../../../../scripts/register-e2e-test'); +const E2ETestPage = require('../../../../scripts/E2ETestPage'); describe('button: basic', () => { - register('navigates', (driver) => { - return driver.navigate().to('http://localhost:3333/src/components/button/test/basic.html'); + register('navigates', driver => { + const page = new E2ETestPage(driver, 'http://localhost:3333/src/components/button/test/basic.html'); + return page.navigate(); }); }); diff --git a/packages/core/src/components/button/test/toolbar.e2e-spec.js b/packages/core/src/components/button/test/toolbar.e2e-spec.js index f1d9a3b50e..b5b58a4bae 100644 --- a/packages/core/src/components/button/test/toolbar.e2e-spec.js +++ b/packages/core/src/components/button/test/toolbar.e2e-spec.js @@ -1,11 +1,11 @@ -const webdriver = require('selenium-webdriver'); -const By = webdriver.By; -const until = webdriver.until; +'use strict'; const register = require('../../../../scripts/register-e2e-test'); +const E2ETestPage = require('../../../../scripts/E2ETestPage'); describe('button: toolbar', () => { register('navigates', (driver) => { - return driver.navigate().to('http://localhost:3333/src/components/button/test/toolbar.html'); + const page = new E2ETestPage(driver, 'http://localhost:3333/src/components/button/test/toolbar.html'); + return page.navigate(); }); });