diff --git a/packages/core/scripts/e2e/README.md b/packages/core/scripts/e2e/README.md index aef7c44ff8..7a22aa666d 100644 --- a/packages/core/scripts/e2e/README.md +++ b/packages/core/scripts/e2e/README.md @@ -105,14 +105,18 @@ You can also take snapshots of each end-to-end test to check for visual regressi To take snapshots: -``` +```bash npm run snapshot ``` +To take snapshots of a specific folder: + +```bash +npm run snapshot -- -f=toast +``` + ## TODO - [ ] Move this script up a directory and use for all packages? - [ ] Turn off animations and then adjust the wait time accordingly - [ ] Adjustments will likely be needed when the Snapshot tool has better reporting, for example the tool will likely have `start` and `finish` methods (or some such thing) -- [ ] Cycle through the various platforms (or at least iOS and Android) -- [ ] Remove scrollbar from snapshots diff --git a/packages/core/scripts/e2e/index.js b/packages/core/scripts/e2e/index.js index 1b6203a773..8543738297 100644 --- a/packages/core/scripts/e2e/index.js +++ b/packages/core/scripts/e2e/index.js @@ -10,10 +10,13 @@ const chromedriver = require('chromedriver'); const Page = require('./page'); const Snapshot = require('./snapshot'); +const platforms = ['android', 'ios']; + let driver; let snapshot; let specIndex = 0; let takeScreenshots = false; +let folder = null; function startDevServer() { const server = require('@stencil/dev-server/dist'); // TODO: fix after stencil-dev-server PR #16 is merged @@ -34,7 +37,12 @@ function generateTestId() { function getTestFiles() { return new Promise((resolve, reject) => { - const src = path.join(__dirname, '../../src/**/e2e.js'); + let src = path.join(__dirname, '../../src/**/e2e.js'); + + if (folder) { + src = path.join(__dirname, `../../src/**/${folder}/**/e2e.js`); + } + glob(src, (err, files) => { if (err) { reject(err); @@ -50,6 +58,10 @@ function processCommandLine() { if (arg === '--snapshot') { takeScreenshots = true; } + + if (arg.indexOf('-f') > -1) { + folder = arg.split('=')[1]; + } }); } @@ -79,7 +91,14 @@ async function run() { slow: 2000 }); - driver = new webdriver.Builder().forBrowser('chrome').build(); + // setting chrome options to start the browser without an info bar + let chromeCapabilities = webdriver.Capabilities.chrome(); + let chromeOptions = { + 'args': ['--disable-infobars'] + }; + chromeCapabilities.set('chromeOptions', chromeOptions); + + driver = new webdriver.Builder().withCapabilities(chromeCapabilities).forBrowser('chrome').build(); processCommandLine(); @@ -150,5 +169,6 @@ module.exports = { Page, navigate: (url, tagName) => driver => new Page(driver, url).navigate(tagName), register: registerE2ETest, - run: run + run: run, + platforms: platforms }; diff --git a/packages/core/scripts/e2e/snapshot.js b/packages/core/scripts/e2e/snapshot.js index 7352519040..089fe19c9a 100644 --- a/packages/core/scripts/e2e/snapshot.js +++ b/packages/core/scripts/e2e/snapshot.js @@ -91,6 +91,12 @@ class Snapshot { .setSize(this.width, this.height); } + _getQueryString(field, url) { + var reg = new RegExp( '[?&]' + field + '=([^&#]*)', 'i' ); + var string = reg.exec(url); + return string ? string[1] : null; + }; + async _takeScreenshot(driver, options) { const capabilities = await driver.getCapabilities(); @@ -100,12 +106,14 @@ class Snapshot { // TODO remove the modified url/description once we're happy with the comparison to v3 let platform = 'android'; - let replacedUrl = url.replace('3333', '8876').replace('src/components', '/e2e').replace('test/', ''); + if (url.indexOf('ionicplatform') > -1) { + platform = this._getQueryString('ionicplatform', url); + } + + let replacedUrl = url.replace('3333', '8876').replace('src/components', '/e2e').replace('test/', '').replace(`?ionicplatform=${platform}`, ''); url = replacedUrl + `/index.html?ionicplatform=${platform}&ionicOverlayCreatedDiff=0&snapshot=true`; - console.log('url', url); let description = options.name.replace(': ', `: ${platform} `) + '.'; - console.log('description', description); return Promise.resolve({ app_id: this.appId, diff --git a/packages/core/src/components/action-sheet/test/basic/e2e.js b/packages/core/src/components/action-sheet/test/basic/e2e.js index 123a7dbf84..63899166ae 100644 --- a/packages/core/src/components/action-sheet/test/basic/e2e.js +++ b/packages/core/src/components/action-sheet/test/basic/e2e.js @@ -1,11 +1,11 @@ 'use strict'; const { By, until } = require('selenium-webdriver'); -const { register, Page } = require('../../../../../scripts/e2e'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); -class ActionSheetE2ETestPage extends Page { - constructor(driver) { - super(driver, 'http://localhost:3333/src/components/action-sheet/test/basic'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/action-sheet/test/basic?ionicplatform=${platform}`); } present(buttonId) { @@ -17,47 +17,50 @@ class ActionSheetE2ETestPage extends Page { closeWithBackdrop() { this.driver.findElement(By.css('ion-backdrop')).click(); + return this.driver.wait(until.elementIsNotVisible(this.driver.findElement(By.css('ion-backdrop')))); } } -describe('action-sheet/basic', () => { - register('should init', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.navigate(); - }); +platforms.forEach(platform => { + describe('action-sheet/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); - register('should open action sheet', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('basic'); - }); + register('should open action sheet', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('basic'); + }); - register('should close with backdrop click', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.closeWithBackdrop(); - }); + register('should close with backdrop click', driver => { + const page = new E2ETestPage(driver, platform); + return page.closeWithBackdrop(); + }); - register('shows noBackdropDismiss', (driver) => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('noBackdropDismiss'); - }); + register('shows noBackdropDismiss', (driver) => { + const page = new E2ETestPage(driver, platform); + return page.present('noBackdropDismiss'); + }); - register('shows alertFromActionSheet', (driver) => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('alertFromActionSheet'); - }); + register('shows alertFromActionSheet', (driver) => { + const page = new E2ETestPage(driver, platform); + return page.present('alertFromActionSheet'); + }); - register('shows scrollableOptions', (driver) => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('scrollableOptions'); - }); + register('shows scrollableOptions', (driver) => { + const page = new E2ETestPage(driver, platform); + return page.present('scrollableOptions'); + }); - register('shows scrollWithoutCancel', (driver) => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('scrollWithoutCancel'); - }); + register('shows scrollWithoutCancel', (driver) => { + const page = new E2ETestPage(driver, platform); + return page.present('scrollWithoutCancel'); + }); - register('shows cancelOnly', (driver) => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('cancelOnly'); + register('shows cancelOnly', (driver) => { + const page = new E2ETestPage(driver, platform); + return page.present('cancelOnly'); + }); }); }); diff --git a/packages/core/src/components/action-sheet/test/standalone/e2e.js b/packages/core/src/components/action-sheet/test/standalone/e2e.js index 00dcd29eee..d1b21fd139 100644 --- a/packages/core/src/components/action-sheet/test/standalone/e2e.js +++ b/packages/core/src/components/action-sheet/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/action-sheet/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('action-sheet/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/action-sheet/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/alert/test/basic/e2e.js b/packages/core/src/components/alert/test/basic/e2e.js index d02aa25de1..a7dd21469c 100644 --- a/packages/core/src/components/alert/test/basic/e2e.js +++ b/packages/core/src/components/alert/test/basic/e2e.js @@ -1,11 +1,11 @@ 'use strict'; const { By, until } = require('selenium-webdriver'); -const { register, Page } = require('../../../../../scripts/e2e'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); -class ActionSheetE2ETestPage extends Page { - constructor(driver) { - super(driver, 'http://localhost:3333/src/components/alert/test/basic'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/alert/test/basic?ionicplatform=${platform}`); } present(buttonId) { @@ -17,53 +17,55 @@ class ActionSheetE2ETestPage extends Page { closeWithBackdrop() { this.driver.findElement(By.css('ion-backdrop')).click(); + return this.driver.wait(until.elementIsNotVisible(this.driver.findElement(By.css('ion-backdrop')))); } } -describe('alert/basic', () => { - register('should init', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.navigate(); - }); +platforms.forEach(platform => { + describe('alert/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); - register('should open basic alert', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('basic'); - }); + register('should open basic alert', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('basic'); + }); - register('should open alert long message', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('longMessage'); - }); + register('should open alert long message', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('longMessage'); + }); - register('should open alert multiple buttons', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('multipleButtons'); - }); + register('should open alert multiple buttons', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('multipleButtons'); + }); - register('should open alert no message', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('noMessage'); - }); + register('should open alert no message', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('noMessage'); + }); - register('should open confirm alert', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('confirm'); - }); + register('should open confirm alert', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('confirm'); + }); - register('should open prompt alert', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('prompt'); - }); + register('should open prompt alert', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('prompt'); + }); - register('should open radio alert', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('radio'); - }); + register('should open radio alert', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('radio'); + }); - register('should open checkbox alert', driver => { - const page = new ActionSheetE2ETestPage(driver); - return page.present('checkbox'); + register('should open checkbox alert', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('checkbox'); + }); }); - }); diff --git a/packages/core/src/components/alert/test/standalone/e2e.js b/packages/core/src/components/alert/test/standalone/e2e.js index 2c481b363e..c73c43988d 100644 --- a/packages/core/src/components/alert/test/standalone/e2e.js +++ b/packages/core/src/components/alert/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/alert/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('alert/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/alert/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/avatar/test/standalone/e2e.js b/packages/core/src/components/avatar/test/standalone/e2e.js index 91d7f41996..d37a004508 100644 --- a/packages/core/src/components/avatar/test/standalone/e2e.js +++ b/packages/core/src/components/avatar/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/avatar/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('avatar/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/avatar/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/badge/test/basic/e2e.js b/packages/core/src/components/badge/test/basic/e2e.js index 01907899ac..d077603aa1 100644 --- a/packages/core/src/components/badge/test/basic/e2e.js +++ b/packages/core/src/components/badge/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('badge/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/badge/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/badge/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('badge/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/badge/test/basic/index.html b/packages/core/src/components/badge/test/basic/index.html index 6951934c5b..8a08ca17a3 100644 --- a/packages/core/src/components/badge/test/basic/index.html +++ b/packages/core/src/components/badge/test/basic/index.html @@ -45,7 +45,7 @@ Dark Badge - 99 + primary Dynamic Badge Color (toggle) @@ -87,8 +87,8 @@ function toggleColor() { const prev = badge.getAttribute('color'); - const base = 'secondary'; - badge.setAttribute('color', prev === base ? null : base); + badge.setAttribute('color', prev === 'secondary' ? 'primary' : 'secondary'); + badge.innerHTML = prev === 'secondary' ? 'primary' : 'secondary'; } diff --git a/packages/core/src/components/badge/test/standalone/e2e.js b/packages/core/src/components/badge/test/standalone/e2e.js index 707fedc8f1..eef70259a2 100644 --- a/packages/core/src/components/badge/test/standalone/e2e.js +++ b/packages/core/src/components/badge/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/badge/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('badge/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/badge/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/button/test/anchor/e2e.js b/packages/core/src/components/button/test/anchor/e2e.js index 6b91228c09..8d53fa48be 100644 --- a/packages/core/src/components/button/test/anchor/e2e.js +++ b/packages/core/src/components/button/test/anchor/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/anchor', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/button/test/anchor')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/anchor?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('button/anchor', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/button/test/basic/e2e.js b/packages/core/src/components/button/test/basic/e2e.js index c42b26f254..d5cbe016c6 100644 --- a/packages/core/src/components/button/test/basic/e2e.js +++ b/packages/core/src/components/button/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/button/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('button/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/button/test/expand/e2e.js b/packages/core/src/components/button/test/expand/e2e.js index e48e5bbf0b..9316144cf8 100644 --- a/packages/core/src/components/button/test/expand/e2e.js +++ b/packages/core/src/components/button/test/expand/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/expand', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/button/test/expand')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/expand?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('button/expand', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/button/test/fill/e2e.js b/packages/core/src/components/button/test/fill/e2e.js index 1fc8f2b55c..b8d4c09983 100644 --- a/packages/core/src/components/button/test/fill/e2e.js +++ b/packages/core/src/components/button/test/fill/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/fill', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/button/test/fill')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/fill?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('button/fill', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/button/test/icon/e2e.js b/packages/core/src/components/button/test/icon/e2e.js index b202db9647..421a5fc408 100644 --- a/packages/core/src/components/button/test/icon/e2e.js +++ b/packages/core/src/components/button/test/icon/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/icon', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/button/test/icon')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/icon?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('button/icon', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/button/test/round/e2e.js b/packages/core/src/components/button/test/round/e2e.js index ba3f083224..93dc4aaddb 100644 --- a/packages/core/src/components/button/test/round/e2e.js +++ b/packages/core/src/components/button/test/round/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/round', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/button/test/round')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/round?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('button/round', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/button/test/size/e2e.js b/packages/core/src/components/button/test/size/e2e.js index 83026cdb11..f24e1717ac 100644 --- a/packages/core/src/components/button/test/size/e2e.js +++ b/packages/core/src/components/button/test/size/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/size', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/button/test/size')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/size?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('button/size', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/button/test/standalone/e2e.js b/packages/core/src/components/button/test/standalone/e2e.js index 25efee0d85..dd608531e4 100644 --- a/packages/core/src/components/button/test/standalone/e2e.js +++ b/packages/core/src/components/button/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('button/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/button/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/button/test/strong/e2e.js b/packages/core/src/components/button/test/strong/e2e.js index 7f4c43d2a9..c9232a5576 100644 --- a/packages/core/src/components/button/test/strong/e2e.js +++ b/packages/core/src/components/button/test/strong/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/strong', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/button/test/strong')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/strong?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('button/strong', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/button/test/toolbar/e2e.js b/packages/core/src/components/button/test/toolbar/e2e.js index 1b5bdf957b..6224e33672 100644 --- a/packages/core/src/components/button/test/toolbar/e2e.js +++ b/packages/core/src/components/button/test/toolbar/e2e.js @@ -1,5 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('button/toolbar', () => { - register('should init', navigate('http://localhost:3333/src/components/button/test/toolbar')); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); + +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/button/test/toolbar?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { + describe('button/toolbar', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/card/test/basic/e2e.js b/packages/core/src/components/card/test/basic/e2e.js index eeb3a7c44e..a9386f2197 100644 --- a/packages/core/src/components/card/test/basic/e2e.js +++ b/packages/core/src/components/card/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('card/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/card/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/card/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('card/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/card/test/standalone/e2e.js b/packages/core/src/components/card/test/standalone/e2e.js index b5d4ce67be..4f12750a30 100644 --- a/packages/core/src/components/card/test/standalone/e2e.js +++ b/packages/core/src/components/card/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/card/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('card/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/card/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/checkbox/test/basic/e2e.js b/packages/core/src/components/checkbox/test/basic/e2e.js index 7d7d508b5e..9076f9105c 100644 --- a/packages/core/src/components/checkbox/test/basic/e2e.js +++ b/packages/core/src/components/checkbox/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('checkbox/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/checkbox/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/checkbox/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('checkbox/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/checkbox/test/standalone/e2e.js b/packages/core/src/components/checkbox/test/standalone/e2e.js index efdb93d04c..0213d55abf 100644 --- a/packages/core/src/components/checkbox/test/standalone/e2e.js +++ b/packages/core/src/components/checkbox/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/checkbox/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('checkbox/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/checkbox/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/chip/test/basic/e2e.js b/packages/core/src/components/chip/test/basic/e2e.js index 9fb8d59dfa..f5b5eac4cb 100644 --- a/packages/core/src/components/chip/test/basic/e2e.js +++ b/packages/core/src/components/chip/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('chip/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/chip/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/chip/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('chip/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/chip/test/standalone/e2e.js b/packages/core/src/components/chip/test/standalone/e2e.js index 72f2d84f97..da029065db 100644 --- a/packages/core/src/components/chip/test/standalone/e2e.js +++ b/packages/core/src/components/chip/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/chip/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('chip/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/chip/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/content/test/basic/e2e.js b/packages/core/src/components/content/test/basic/e2e.js index 53d449e693..415a6efcb8 100644 --- a/packages/core/src/components/content/test/basic/e2e.js +++ b/packages/core/src/components/content/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('content/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/content/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/content/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('content/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/datetime/test/basic/e2e.js b/packages/core/src/components/datetime/test/basic/e2e.js index 5c1185dee3..06591cca06 100644 --- a/packages/core/src/components/datetime/test/basic/e2e.js +++ b/packages/core/src/components/datetime/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('datetime/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/datetime/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/datetime/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('datetime/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/datetime/test/standalone/e2e.js b/packages/core/src/components/datetime/test/standalone/e2e.js index a7a8271e26..85b6e268cd 100644 --- a/packages/core/src/components/datetime/test/standalone/e2e.js +++ b/packages/core/src/components/datetime/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/datetime/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('datetime/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/datetime/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/fab/test/basic/e2e.js b/packages/core/src/components/fab/test/basic/e2e.js index c8a7570567..bbd552f512 100644 --- a/packages/core/src/components/fab/test/basic/e2e.js +++ b/packages/core/src/components/fab/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('fab/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/fab/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/fab/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('fab/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/fab/test/standalone/e2e.js b/packages/core/src/components/fab/test/standalone/e2e.js index cafd116e37..c70d1fbd21 100644 --- a/packages/core/src/components/fab/test/standalone/e2e.js +++ b/packages/core/src/components/fab/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/fab/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('fab/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/fab/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/grid/test/basic/e2e.js b/packages/core/src/components/grid/test/basic/e2e.js index ec739674b3..0079c49115 100644 --- a/packages/core/src/components/grid/test/basic/e2e.js +++ b/packages/core/src/components/grid/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('grid/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/grid/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/grid/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('grid/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/grid/test/standalone/e2e.js b/packages/core/src/components/grid/test/standalone/e2e.js index fe0d180422..a34e182967 100644 --- a/packages/core/src/components/grid/test/standalone/e2e.js +++ b/packages/core/src/components/grid/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/grid/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('grid/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/grid/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/icon/test/basic/e2e.js b/packages/core/src/components/icon/test/basic/e2e.js index f5aff2995a..a57ba6281f 100644 --- a/packages/core/src/components/icon/test/basic/e2e.js +++ b/packages/core/src/components/icon/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('icon/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/icon/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/icon/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('icon/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/icon/test/items/e2e.js b/packages/core/src/components/icon/test/items/e2e.js index f90d677a93..4ab545bb37 100644 --- a/packages/core/src/components/icon/test/items/e2e.js +++ b/packages/core/src/components/icon/test/items/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('icon/items', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/icon/test/items')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/icon/test/items?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('icon/items', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/icon/test/standalone/e2e.js b/packages/core/src/components/icon/test/standalone/e2e.js index a8b94451fb..359b196478 100644 --- a/packages/core/src/components/icon/test/standalone/e2e.js +++ b/packages/core/src/components/icon/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/icon/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('icon/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/icon/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/infinite-scroll/test/basic/e2e.js b/packages/core/src/components/infinite-scroll/test/basic/e2e.js index 2258502bc8..71f54e2f59 100644 --- a/packages/core/src/components/infinite-scroll/test/basic/e2e.js +++ b/packages/core/src/components/infinite-scroll/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('inifinite-scroll/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/infinite-scroll/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/infinite-scroll/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('infinite-scroll/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/infinite-scroll/test/standalone/e2e.js b/packages/core/src/components/infinite-scroll/test/standalone/e2e.js index 85f2995086..ef384d15ac 100644 --- a/packages/core/src/components/infinite-scroll/test/standalone/e2e.js +++ b/packages/core/src/components/infinite-scroll/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/infinite-scroll/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('infinite-scroll/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/infinite-scroll/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/input/test/basic/e2e.js b/packages/core/src/components/input/test/basic/e2e.js index 13b0b758d5..99767891a0 100644 --- a/packages/core/src/components/input/test/basic/e2e.js +++ b/packages/core/src/components/input/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('input/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/input/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/input/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('input/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/input/test/standalone/e2e.js b/packages/core/src/components/input/test/standalone/e2e.js index c661ca02b9..7e48dae063 100644 --- a/packages/core/src/components/input/test/standalone/e2e.js +++ b/packages/core/src/components/input/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/input/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('input/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/input/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/item-sliding/test/basic/e2e.js b/packages/core/src/components/item-sliding/test/basic/e2e.js index 3ab392abcc..ef1fa0b14e 100644 --- a/packages/core/src/components/item-sliding/test/basic/e2e.js +++ b/packages/core/src/components/item-sliding/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('item-sliding/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/item-sliding/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/item-sliding/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('item-sliding/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/item-sliding/test/standalone/e2e.js b/packages/core/src/components/item-sliding/test/standalone/e2e.js index aa0188441c..09288de741 100644 --- a/packages/core/src/components/item-sliding/test/standalone/e2e.js +++ b/packages/core/src/components/item-sliding/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/item-sliding/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('item-sliding/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/item-sliding/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/item/test/basic/e2e.js b/packages/core/src/components/item/test/basic/e2e.js index 3c2262a493..61d4cd1d9f 100644 --- a/packages/core/src/components/item/test/basic/e2e.js +++ b/packages/core/src/components/item/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('item/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/item/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/item/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('item/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/item/test/buttons/e2e.js b/packages/core/src/components/item/test/buttons/e2e.js index e55a6cffd1..5ebee907b1 100644 --- a/packages/core/src/components/item/test/buttons/e2e.js +++ b/packages/core/src/components/item/test/buttons/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('item/buttons', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/item/test/buttons')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/item/test/buttons?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('item/buttons', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/item/test/standalone/e2e.js b/packages/core/src/components/item/test/standalone/e2e.js index db45192bdd..4c4c4bdd7f 100644 --- a/packages/core/src/components/item/test/standalone/e2e.js +++ b/packages/core/src/components/item/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/item/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('item/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/item/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/label/test/standalone/e2e.js b/packages/core/src/components/label/test/standalone/e2e.js index 6c7046530d..1f45cf37af 100644 --- a/packages/core/src/components/label/test/standalone/e2e.js +++ b/packages/core/src/components/label/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/label/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('label/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/label/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/list/test/basic/e2e.js b/packages/core/src/components/list/test/basic/e2e.js index 3b662b5b15..92c74ac100 100644 --- a/packages/core/src/components/list/test/basic/e2e.js +++ b/packages/core/src/components/list/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('list/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/list/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/list/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('list/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/list/test/standalone/e2e.js b/packages/core/src/components/list/test/standalone/e2e.js index 03c36607d5..d73e6baa54 100644 --- a/packages/core/src/components/list/test/standalone/e2e.js +++ b/packages/core/src/components/list/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/list/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('list/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/list/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/loading/test/basic/e2e.js b/packages/core/src/components/loading/test/basic/e2e.js index 6e4c19890c..aad740b4cc 100644 --- a/packages/core/src/components/loading/test/basic/e2e.js +++ b/packages/core/src/components/loading/test/basic/e2e.js @@ -1,13 +1,31 @@ -const { register, navigate, Page } = require('../../../../../scripts/e2e'); -const testPageURL = 'http://localhost:3333/src/components/loading/test/basic'; +'use strict'; -describe('loading/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate(testPageURL)); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/loading/test/basic?ionicplatform=${platform}`); + } - register('shows loading', driver => { - const page = new Page(driver, testPageURL); - return page.present('.e2eShowLoading', { waitFor: 'ion-loading' }); + present(buttonId) { + this.navigate(); + this.driver.findElement(By.id(buttonId)).click(); + this.driver.wait(until.elementLocated(By.css('.loading-wrapper'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.loading-wrapper')))); + } +} + +platforms.forEach(platform => { + describe('loading/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + + register('should open loading', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('basic'); + }); }); - }); diff --git a/packages/core/src/components/loading/test/basic/index.html b/packages/core/src/components/loading/test/basic/index.html index deb49828c7..a765e6e81f 100644 --- a/packages/core/src/components/loading/test/basic/index.html +++ b/packages/core/src/components/loading/test/basic/index.html @@ -18,7 +18,7 @@ - Show Loading + Show Loading Show Loading with long content Show Loading with no spinner Show Loading with translucent diff --git a/packages/core/src/components/loading/test/standalone/e2e.js b/packages/core/src/components/loading/test/standalone/e2e.js index e8be4842fc..ccc70c7bc8 100644 --- a/packages/core/src/components/loading/test/standalone/e2e.js +++ b/packages/core/src/components/loading/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/loading/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('loading/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/loading/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/menu/test/basic/e2e.js b/packages/core/src/components/menu/test/basic/e2e.js index b045d6e607..4c571ff22d 100644 --- a/packages/core/src/components/menu/test/basic/e2e.js +++ b/packages/core/src/components/menu/test/basic/e2e.js @@ -1,13 +1,31 @@ -const { register, navigate, Page } = require('../../../../../scripts/e2e'); -const testPageURL = 'http://localhost:3333/src/components/menu/test/basic'; +'use strict'; -describe('menu/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate(testPageURL)); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/menu/test/basic?ionicplatform=${platform}`); + } - register('shows left menu', driver => { - const page = new Page(driver, testPageURL); - return page.present('.e2eOpenLeftMenu', { waitFor: '.e2eLeftMenu' }) + present(buttonId) { + this.navigate(); + this.driver.findElement(By.id(buttonId)).click(); + this.driver.wait(until.elementLocated(By.css('.menu-inner'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.menu-inner')))); + } +} + +platforms.forEach(platform => { + describe('menu/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + + register('should open left menu', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('left'); + }); }); - }); diff --git a/packages/core/src/components/menu/test/basic/index.html b/packages/core/src/components/menu/test/basic/index.html index 559aab758a..87a54c784c 100644 --- a/packages/core/src/components/menu/test/basic/index.html +++ b/packages/core/src/components/menu/test/basic/index.html @@ -65,7 +65,7 @@

- Open left menu + Open left menu Open right menu

diff --git a/packages/core/src/components/menu/test/standalone/e2e.js b/packages/core/src/components/menu/test/standalone/e2e.js index bab6cefc70..933b78889e 100644 --- a/packages/core/src/components/menu/test/standalone/e2e.js +++ b/packages/core/src/components/menu/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/menu/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('menu/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/menu/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/modal/test/basic/e2e.js b/packages/core/src/components/modal/test/basic/e2e.js index 6eae0048ff..90f9262f37 100644 --- a/packages/core/src/components/modal/test/basic/e2e.js +++ b/packages/core/src/components/modal/test/basic/e2e.js @@ -1,13 +1,26 @@ -const { register, navigate, Page } = require('../../../../../scripts/e2e'); -const testPageURL = 'http://localhost:3333/src/components/modal/test/basic'; +'use strict'; -describe('modal/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate(testPageURL)); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/modal/test/basic?ionicplatform=${platform}`); + } - register('shows modal', driver => { - const page = new Page(driver, testPageURL); - return page.present('.e2ePresentModal', { waitFor: 'ion-modal' }); + present(buttonId) { + this.navigate(); + this.driver.findElement(By.id(buttonId)).click(); + this.driver.wait(until.elementLocated(By.css('.modal-wrapper'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.modal-wrapper')))); + } +} + +platforms.forEach(platform => { + describe('modal/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - }); diff --git a/packages/core/src/components/modal/test/standalone/e2e.js b/packages/core/src/components/modal/test/standalone/e2e.js index 6f1f2b2a75..e9a5b3c410 100644 --- a/packages/core/src/components/modal/test/standalone/e2e.js +++ b/packages/core/src/components/modal/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/modal/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('modal/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/modal/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/nav/test/basic/e2e.js b/packages/core/src/components/nav/test/basic/e2e.js index fddc3f3a20..881c7120e6 100644 --- a/packages/core/src/components/nav/test/basic/e2e.js +++ b/packages/core/src/components/nav/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('nav/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/nav/test/basic', 'ion-nav')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/nav/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('nav/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/popover/test/basic/e2e.js b/packages/core/src/components/popover/test/basic/e2e.js index bffb409e4a..48b81c8393 100644 --- a/packages/core/src/components/popover/test/basic/e2e.js +++ b/packages/core/src/components/popover/test/basic/e2e.js @@ -1,14 +1,26 @@ -const { register, navigate, Page } = require('../../../../../scripts/e2e'); -const testPageURL = 'http://localhost:3333/src/components/popover/test/basic'; +'use strict'; +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); -describe('popover/basic', () => { +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/popover/test/basic?ionicplatform=${platform}`); + } - register('should init', navigate(testPageURL)); + present(buttonId) { + this.navigate(); + this.driver.findElement(By.id(buttonId)).click(); + this.driver.wait(until.elementLocated(By.css('.popover-wrapper'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.popover-wrapper')))); + } +} - register('shows modal', driver => { - const page = new Page(driver, testPageURL); - return page.present('.e2eShowPopover', { waitFor: 'ion-popover' }); +platforms.forEach(platform => { + describe('popover/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - }); diff --git a/packages/core/src/components/popover/test/standalone/e2e.js b/packages/core/src/components/popover/test/standalone/e2e.js index 2f5d49c101..009aca4847 100644 --- a/packages/core/src/components/popover/test/standalone/e2e.js +++ b/packages/core/src/components/popover/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/popover/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('popover/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/popover/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/radio-group/test/standalone/e2e.js b/packages/core/src/components/radio-group/test/standalone/e2e.js index 6671a7f058..728197fa57 100644 --- a/packages/core/src/components/radio-group/test/standalone/e2e.js +++ b/packages/core/src/components/radio-group/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/radio-group/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('radio-group/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/radio-group/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/radio/test/basic/e2e.js b/packages/core/src/components/radio/test/basic/e2e.js index e3d78ad42c..6a7d8ebe09 100644 --- a/packages/core/src/components/radio/test/basic/e2e.js +++ b/packages/core/src/components/radio/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('radio/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/radio/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/radio/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('radio/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/radio/test/standalone/e2e.js b/packages/core/src/components/radio/test/standalone/e2e.js index 6770311c0b..a4d2494ea5 100644 --- a/packages/core/src/components/radio/test/standalone/e2e.js +++ b/packages/core/src/components/radio/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/radio/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('radio/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/radio/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/range/test/basic/e2e.js b/packages/core/src/components/range/test/basic/e2e.js index 85df0a561f..4dff6faf5f 100644 --- a/packages/core/src/components/range/test/basic/e2e.js +++ b/packages/core/src/components/range/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('range/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/range/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/range/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('range/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/range/test/standalone/e2e.js b/packages/core/src/components/range/test/standalone/e2e.js index 4a0b0bf017..59041a6152 100644 --- a/packages/core/src/components/range/test/standalone/e2e.js +++ b/packages/core/src/components/range/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/range/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('range/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/range/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/reorder/test/basic/e2e.js b/packages/core/src/components/reorder/test/basic/e2e.js index 10af31f7a3..d759fdd1f0 100644 --- a/packages/core/src/components/reorder/test/basic/e2e.js +++ b/packages/core/src/components/reorder/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('reorder/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/reorder/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/reorder/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('reorder/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/reorder/test/standalone/e2e.js b/packages/core/src/components/reorder/test/standalone/e2e.js index 54de3a62a0..917ed5cdc3 100644 --- a/packages/core/src/components/reorder/test/standalone/e2e.js +++ b/packages/core/src/components/reorder/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/reorder/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('reorder/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/reorder/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/searchbar/test/basic/e2e.js b/packages/core/src/components/searchbar/test/basic/e2e.js index 5c97868871..f348598cc0 100644 --- a/packages/core/src/components/searchbar/test/basic/e2e.js +++ b/packages/core/src/components/searchbar/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('searchbar/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/searchbar/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/searchbar/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('searchbar/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/searchbar/test/standalone/e2e.js b/packages/core/src/components/searchbar/test/standalone/e2e.js index fc5be84550..d4bbe2aa26 100644 --- a/packages/core/src/components/searchbar/test/standalone/e2e.js +++ b/packages/core/src/components/searchbar/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/searchbar/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('searchbar/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/searchbar/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/segment/test/basic/e2e.js b/packages/core/src/components/segment/test/basic/e2e.js index 020c397f2f..74e8641e6c 100644 --- a/packages/core/src/components/segment/test/basic/e2e.js +++ b/packages/core/src/components/segment/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('segment/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/segment/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/segment/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('segment/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/segment/test/standalone/e2e.js b/packages/core/src/components/segment/test/standalone/e2e.js index 5aa5df85ea..11f7eefd24 100644 --- a/packages/core/src/components/segment/test/standalone/e2e.js +++ b/packages/core/src/components/segment/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/segment/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('segment/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/segment/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/select/test/basic/e2e.js b/packages/core/src/components/select/test/basic/e2e.js index cd7e5e3e95..15e2a53b46 100644 --- a/packages/core/src/components/select/test/basic/e2e.js +++ b/packages/core/src/components/select/test/basic/e2e.js @@ -1,13 +1,27 @@ -const { register, navigate, Page } = require('../../../../../scripts/e2e'); -const testPageURL = 'http://localhost:3333/src/components/select/test/basic'; -describe('select/basic', () => { +'use strict'; - register('should init', navigate(testPageURL)); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('shows selector', driver => { - const page = new Page(driver, testPageURL); - return page.present('.e2eSelectGender > button', { waitFor: 'ion-alert' }); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/select/test/basic?ionicplatform=${platform}`); + } + + present(buttonId) { + this.navigate(); + this.driver.findElement(By.id(buttonId)).click(); + this.driver.wait(until.elementLocated(By.css('.select-wrapper'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.select-wrapper')))); + } +} + +platforms.forEach(platform => { + describe('select/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - }); diff --git a/packages/core/src/components/select/test/standalone/e2e.js b/packages/core/src/components/select/test/standalone/e2e.js index d2dd8a884b..77f619b7be 100644 --- a/packages/core/src/components/select/test/standalone/e2e.js +++ b/packages/core/src/components/select/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/select/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('select/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/select/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/slides/test/basic/e2e.js b/packages/core/src/components/slides/test/basic/e2e.js index f836aa4391..4e66ab939b 100644 --- a/packages/core/src/components/slides/test/basic/e2e.js +++ b/packages/core/src/components/slides/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('slides/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/slides/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/slides/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('slides/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/slides/test/standalone/e2e.js b/packages/core/src/components/slides/test/standalone/e2e.js index 64fb008a6a..47aaa6a5f7 100644 --- a/packages/core/src/components/slides/test/standalone/e2e.js +++ b/packages/core/src/components/slides/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/slides/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('slides/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/slides/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/spinner/test/basic/e2e.js b/packages/core/src/components/spinner/test/basic/e2e.js index 3aba3adbe7..838b8dfc1f 100644 --- a/packages/core/src/components/spinner/test/basic/e2e.js +++ b/packages/core/src/components/spinner/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('spinner/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/spinner/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/spinner/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('spinner/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/spinner/test/color/e2e.js b/packages/core/src/components/spinner/test/color/e2e.js index e2ae7901a5..40cd46be32 100644 --- a/packages/core/src/components/spinner/test/color/e2e.js +++ b/packages/core/src/components/spinner/test/color/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('spinner/color', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/spinner/test/color')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/spinner/test/color?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('spinner/color', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/spinner/test/standalone/e2e.js b/packages/core/src/components/spinner/test/standalone/e2e.js index 68d3585044..2713612e89 100644 --- a/packages/core/src/components/spinner/test/standalone/e2e.js +++ b/packages/core/src/components/spinner/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/spinner/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('spinner/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/spinner/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/split-pane/test/basic/e2e.js b/packages/core/src/components/split-pane/test/basic/e2e.js index c362685482..bc953df8d9 100644 --- a/packages/core/src/components/split-pane/test/basic/e2e.js +++ b/packages/core/src/components/split-pane/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('split-pane/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/split-pane/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/split-pane/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('split-pane/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/tabs/test/basic/e2e.js b/packages/core/src/components/tabs/test/basic/e2e.js index ca7937eda8..5c2a423853 100644 --- a/packages/core/src/components/tabs/test/basic/e2e.js +++ b/packages/core/src/components/tabs/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('tabs/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/tabs/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/tabs/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('tabs/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/textarea/test/basic/e2e.js b/packages/core/src/components/textarea/test/basic/e2e.js index 0fa17a2afa..4a6e8a3453 100644 --- a/packages/core/src/components/textarea/test/basic/e2e.js +++ b/packages/core/src/components/textarea/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('textarea/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/textarea/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/textarea/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('textarea/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/textarea/test/standalone/e2e.js b/packages/core/src/components/textarea/test/standalone/e2e.js index e032796ef6..5a0813c00e 100644 --- a/packages/core/src/components/textarea/test/standalone/e2e.js +++ b/packages/core/src/components/textarea/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/textarea/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('textarea/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/textarea/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/thumbnail/test/standalone/e2e.js b/packages/core/src/components/thumbnail/test/standalone/e2e.js index e82844bcf6..38ff5e6328 100644 --- a/packages/core/src/components/thumbnail/test/standalone/e2e.js +++ b/packages/core/src/components/thumbnail/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/thumbnail/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('thumbnail/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/thumbnail/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/toast/test/basic/e2e.js b/packages/core/src/components/toast/test/basic/e2e.js index e05c9ad370..eb3a80dd09 100644 --- a/packages/core/src/components/toast/test/basic/e2e.js +++ b/packages/core/src/components/toast/test/basic/e2e.js @@ -1,13 +1,36 @@ -const { register, navigate, Page } = require('../../../../../scripts/e2e'); -const testPageURL = 'http://localhost:3333/src/components/toast/test/basic'; +'use strict'; -describe('toast/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate(testPageURL)); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/toast/test/basic?ionicplatform=${platform}`); + } - register('shows bottom toast', driver => { - const page = new Page(driver, testPageURL); - return page.present('.e2eShowBottomToast', { waitFor: 'ion-toast' }); + present(buttonId) { + this.navigate(); + this.driver.findElement(By.id(buttonId)).click(); + this.driver.wait(until.elementLocated(By.css('.toast-wrapper'))); + return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.toast-wrapper')))); + } + + closeWithBackdrop() { + this.driver.findElement(By.css('ion-backdrop')).click(); + return this.driver.wait(until.elementIsNotVisible(this.driver.findElement(By.css('ion-backdrop')))); + } +} + +platforms.forEach(platform => { + describe('toast/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + + register('shows bottom toast', driver => { + const page = new E2ETestPage(driver, platform); + return page.present('showBottomToast'); + }); }); - }); diff --git a/packages/core/src/components/toast/test/basic/index.html b/packages/core/src/components/toast/test/basic/index.html index d7b5672c8a..fb09ab5f86 100644 --- a/packages/core/src/components/toast/test/basic/index.html +++ b/packages/core/src/components/toast/test/basic/index.html @@ -18,7 +18,7 @@ - Show Toast Bottom + Show Toast Bottom Show Toast Top Show Toast Middle Show Toast with long message diff --git a/packages/core/src/components/toast/test/standalone/e2e.js b/packages/core/src/components/toast/test/standalone/e2e.js index 90e6c86907..9aa1ad2c0e 100644 --- a/packages/core/src/components/toast/test/standalone/e2e.js +++ b/packages/core/src/components/toast/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/toast/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('toast/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/toast/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/toggle/test/basic/e2e.js b/packages/core/src/components/toggle/test/basic/e2e.js index d4bdd76a6b..d5875e22a7 100644 --- a/packages/core/src/components/toggle/test/basic/e2e.js +++ b/packages/core/src/components/toggle/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('toggle/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/toggle/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/toggle/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('toggle/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/toggle/test/standalone/e2e.js b/packages/core/src/components/toggle/test/standalone/e2e.js index 964139ea8e..df0e21fcb8 100644 --- a/packages/core/src/components/toggle/test/standalone/e2e.js +++ b/packages/core/src/components/toggle/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/toggle/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('toggle/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/toggle/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +}); diff --git a/packages/core/src/components/toolbar/test/basic/e2e.js b/packages/core/src/components/toolbar/test/basic/e2e.js index 2335ba4980..8733474d5e 100644 --- a/packages/core/src/components/toolbar/test/basic/e2e.js +++ b/packages/core/src/components/toolbar/test/basic/e2e.js @@ -1,7 +1,19 @@ -const { register, navigate } = require('../../../../../scripts/e2e'); +'use strict'; -describe('toolbar/basic', () => { +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); - register('should init', navigate('http://localhost:3333/src/components/toolbar/test/basic')); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/toolbar/test/basic?ionicplatform=${platform}`); + } +} +platforms.forEach(platform => { + describe('toolbar/basic', () => { + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); + }); }); diff --git a/packages/core/src/components/toolbar/test/standalone/e2e.js b/packages/core/src/components/toolbar/test/standalone/e2e.js index d1d0c706f4..6a87f380f6 100644 --- a/packages/core/src/components/toolbar/test/standalone/e2e.js +++ b/packages/core/src/components/toolbar/test/standalone/e2e.js @@ -1,9 +1,19 @@ +'use strict'; - const { register, navigate } = require('../../../../../scripts/e2e'); +const { By, until } = require('selenium-webdriver'); +const { register, Page, platforms } = require('../../../../../scripts/e2e'); +class E2ETestPage extends Page { + constructor(driver, platform) { + super(driver, `http://localhost:3333/src/components/toolbar/test/standalone?ionicplatform=${platform}`); + } +} + +platforms.forEach(platform => { describe('toolbar/standalone', () => { - - register('should init', navigate('http://localhost:3333/src/components/toolbar/test/standalone')); - + register('should init', driver => { + const page = new E2ETestPage(driver, platform); + return page.navigate(); + }); }); - +});