fix(e2e): run each test in its own driver and await more

This commit is contained in:
Ken Sodemann
2018-02-01 10:59:09 -06:00
parent 0babb2ece2
commit 6639f99556
127 changed files with 235 additions and 223 deletions

View File

@ -53,6 +53,21 @@ function getTestFiles() {
});
}
function startDriver() {
// setting chrome options to start the browser without an info bar
let chromeCapabilities = webdriver.Capabilities.chrome();
const chromeOptions = {
// 'args': ['--disable-infobars']
};
chromeCapabilities.set('chromeOptions', chromeOptions);
return new webdriver.Builder().withCapabilities(chromeCapabilities).forBrowser('chrome').build();
}
async function stopDriver() {
await driver.quit();
}
function processCommandLine() {
if (argv.snapshot) {
takeScreenshots = true;
@ -65,15 +80,19 @@ function processCommandLine() {
function registerE2ETest(desc, tst) {
// NOTE: Do not use an arrow function here because: https://mochajs.org/#arrow-functions
it(desc, async function() {
await tst(driver, this);
if (takeScreenshots) {
await snapshot.takeScreenshot(driver, {
name: this.test.fullTitle().replace(/(^[\w-]+\/[\w-]+)/, '$1:'),
specIndex: specIndex++
});
}
return Promise.resolve(true);
it(desc, function(done) {
// const driver = startDriver();
(async function() {
await tst(driver, this);
if (takeScreenshots) {
await snapshot.takeScreenshot(driver, {
name: this.test.fullTitle().replace(/(^[\w-]+\/[\w-]+)/, '$1:'),
specIndex: specIndex++
});
}
// await driver.quit();
done();
})();
});
}
@ -90,15 +109,7 @@ async function run() {
slow: 2000
});
// 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();
driver = startDriver();
processCommandLine();
const devServer = await startDevServer();
@ -113,7 +124,7 @@ async function run() {
}
devServer.close();
await driver.quit();
stopDriver();
if (failures) {
throw new Error(failures);
@ -188,8 +199,7 @@ if (require.main === module) {
module.exports = {
Page,
navigate: (url, tagName) => driver => new Page(driver, url).navigate(tagName),
platforms: platforms,
register: registerE2ETest,
run: run,
platforms: platforms
run: run
};

View File

@ -8,16 +8,17 @@ module.exports = class E2ETestPage {
this.driver = driver;
}
navigate(tagName = '') {
async navigate(tagName = '') {
this.driver.navigate().to(this.url);
this.driver.wait(until.elementLocated(By.css('.hydrated')));
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css(`${tagName}.hydrated`))));
this.driver.manage().timeouts().implicitlyWait(10000);
await this.driver.wait(until.elementLocated(By.css(`${tagName}.hydrated`)));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css(`${tagName}.hydrated`))));
}
present(clickTarget, options) {
this.navigate();
async present(clickTarget, options) {
await this.navigate();
this.driver.findElement(By.css(clickTarget)).click();
this.driver.wait(until.elementLocated(By.css(options.waitFor)));
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css(options.waitFor))));
await this.driver.wait(until.elementLocated(By.css(options.waitFor)));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css(options.waitFor))));
}
}

View File

@ -1,23 +1,23 @@
'use strict';
const { By, until } = require('selenium-webdriver');
const { register, Page, platforms } = require('../../../../../scripts/e2e');
const { Page, platforms, register } = require('../../../../../scripts/e2e');
class E2ETestPage extends Page {
constructor(driver, platform) {
super(driver, `http://localhost:3333/src/components/action-sheet/test/basic?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#basic');
this.driver.findElement(By.id(buttonId)).click();
this.driver.wait(until.elementLocated(By.css('.action-sheet-container')));
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.action-sheet-container'))));
await this.driver.wait(until.elementLocated(By.css('.action-sheet-container')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.action-sheet-container'))));
}
closeWithBackdrop() {
async closeWithBackdrop() {
this.driver.findElement(By.css('ion-backdrop')).click();
return this.driver.wait(until.elementIsNotVisible(this.driver.findElement(By.css('ion-backdrop'))));
return await this.driver.wait(until.elementIsNotVisible(this.driver.findElement(By.css('ion-backdrop'))));
}
}
@ -25,7 +25,7 @@ platforms.forEach(platform => {
describe('action-sheet/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
register('should open action sheet', driver => {
@ -33,8 +33,9 @@ platforms.forEach(platform => {
return page.present('basic');
});
register('should close with backdrop click', driver => {
register('should close with backdrop click', async driver => {
const page = new E2ETestPage(driver, platform);
await page.present('basic');
return page.closeWithBackdrop();
});

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/action-sheet/test/standalone?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#basic');
this.driver.findElement(By.id(buttonId)).click();
this.driver.wait(until.elementLocated(By.css('.action-sheet-container')));
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.action-sheet-container'))));
await this.driver.wait(until.elementLocated(By.css('.action-sheet-container')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.action-sheet-container'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('action-sheet/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
register('should open action sheet', driver => {

View File

@ -8,16 +8,16 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/alert/test/basic?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#basic');
this.driver.findElement(By.id(buttonId)).click();
this.driver.wait(until.elementLocated(By.css('.alert-wrapper')));
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.alert-wrapper'))));
await this.driver.wait(until.elementLocated(By.css('.alert-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.alert-wrapper'))));
}
closeWithBackdrop() {
async closeWithBackdrop() {
this.driver.findElement(By.css('ion-backdrop')).click();
return this.driver.wait(until.elementIsNotVisible(this.driver.findElement(By.css('ion-backdrop'))));
return await this.driver.wait(until.elementIsNotVisible(this.driver.findElement(By.css('ion-backdrop'))));
}
}
@ -25,7 +25,7 @@ platforms.forEach(platform => {
describe('alert/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
register('should open basic alert', driver => {

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/alert/test/standalone?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#basic');
this.driver.findElement(By.id(buttonId)).click();
this.driver.wait(until.elementLocated(By.css('.alert-wrapper')));
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.alert-wrapper'))));
await this.driver.wait(until.elementLocated(By.css('.alert-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.alert-wrapper'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('alert/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
register('should open alert', driver => {

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('badge/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-list-header>Badges Right</ion-list-header>
<ion-item>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/anchor', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding no-bounce>
<ion-content id="content" padding no-bounce>
<p>
<ion-button href="#">Default</ion-button>
<ion-button href="#" class="activated">Default.activated</ion-button>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding no-bounce text-center>
<ion-content id="content" padding no-bounce text-center>
<p>
<ion-button>Default</ion-button>
<ion-button class="activated">Default.activated</ion-button>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/expand', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding no-bounce>
<ion-content id="content" padding no-bounce>
<p>
<ion-button expand="block">Block</ion-button>
<ion-button expand="full">Full</ion-button>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/fill', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding no-bounce>
<ion-content id="content" padding no-bounce>
<p>
<ion-button fill="outline">Default</ion-button>
<ion-button fill="outline" class="activated">Default.activated</ion-button>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/icon', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding no-bounce>
<ion-content id="content" padding no-bounce>
<p>
<ion-button>
<ion-icon name="home" slot="start"></ion-icon>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/round', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding text-center no-bounce>
<ion-content id="content" padding text-center no-bounce>
<ion-button round>Button</ion-button>
<ion-button round color="light">Button Light</ion-button>
<ion-button round color="secondary">Button Secondary</ion-button>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/size', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding no-bounce>
<ion-content id="content" padding no-bounce>
<p>
<ion-button>Default</ion-button>
<ion-button href="#">Default</ion-button>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/strong', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding no-bounce>
<ion-content id="content" padding no-bounce>
<p><ion-button strong>Default</ion-button></p>
<p><ion-button strong fill="outline" color="secondary">Outline</ion-button></p>
<p><ion-button strong fill="clear">Clear</ion-button></p>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('button/toolbar', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-toolbar no-padding>
<ion-title>This should have no padding</ion-title>
</ion-toolbar>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('card/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-card>
<ion-card-header>
<ion-card-title>Card Header</ion-card-title>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('checkbox/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-item>
<ion-label>Default</ion-label>
<ion-checkbox checked></ion-checkbox>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('chip/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding style="text-align: center">
<ion-content id="content" padding style="text-align: center">
<h2>Text Chips</h2>
<ion-chip>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('content/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/datetime/test/basic?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#content');
this.driver.findElement(By.id(buttonId)).click();
this.driver.wait(until.elementLocated(By.css('.picker-wrapper')));
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.picker-wrapper'))));
await this.driver.wait(until.elementLocated(By.css('.picker-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.picker-wrapper'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('datetime/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
register('should open custom picker', driver => {

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content class="outer-content test-content">
<ion-content id="content" class="outer-content test-content">
<ion-list>
<ion-item>
<ion-label>MMMM</ion-label>

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/datetime/test/standalone?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#basic');
this.driver.findElement(By.id(buttonId)).click();
this.driver.wait(until.elementLocated(By.css('.picker-wrapper')));
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.picker-wrapper'))));
await this.driver.wait(until.elementLocated(By.css('.picker-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.picker-wrapper'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('datetime/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
register('should open basic picker', driver => {

View File

@ -11,11 +11,11 @@ class E2ETestPage extends Page {
}
platforms.forEach(platform => {
describe('events/basic', () => {
describe.skip('events/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
/*register('subscribers should receive event on or shortly after button click', async (driver, testContext) => {

View File

@ -18,7 +18,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding>
<ion-content id="content" padding>
<div class="container">
<div>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('fab/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding fullscreen>
<ion-content id="content" padding fullscreen>
<f></f>
<f></f>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('fab/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#fab5');
});
});
});

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('grid/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content class="grid-demo">
<ion-content id="content" class="grid-demo">
<ion-grid>
<ion-row>
<ion-col>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('icon/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-item>
<ion-icon name="home" id="dynamicColor" slot="start"></ion-icon>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('icon/items', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -23,7 +23,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-item>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('input/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-item>
<ion-input value="reallylonglonglonginputtoseetheedgesreallylonglonglonginputtoseetheedges"></ion-input>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item-sliding/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#list');
});
});
});

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-list-header>
<ion-label>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/buttons', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-item href="#" onclick="testClick(event)">
a[ion-item]
</ion-item>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/colors', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-item>
<ion-label>
<h1>Heading</h1>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/dividers', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -18,7 +18,7 @@
</ion-header>
<ion-content class="outer-content">
<ion-content id="content" class="outer-content">
<ion-item-divider>
<ion-label>
Divider by itself

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/groups', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -22,7 +22,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list id="list">
<!-- list loaded from data -->
</ion-list>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/icons', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-item detail-push>
<ion-label>
ion-item [detail-push] attr

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/images', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-item>
<ion-label>
Plain Ol' div w/ some text, no images

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/inputs', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#item');
});
});
});

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/media', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-item onclick="testClick(event)">
<ion-avatar slot="start">
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==">

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/reorder', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -19,7 +19,7 @@
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-reorder-group id="reorderGroup"></ion-reorder-group>
</ion-list>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/sliding', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -21,7 +21,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<div padding>
<ion-button expand="block" onclick="toggleSliding()">Toggle sliding</ion-button>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('item/text', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content class="outer-content">
<ion-content id="content" class="outer-content">
<ion-list>
<ion-list-header>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('list/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-item>Pokémon Yellow</ion-item>
<ion-item>Super Metroid</ion-item>

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/loading/test/basic?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#basic');
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'))));
await this.driver.wait(until.elementLocated(By.css('.loading-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.loading-wrapper'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('loading/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
register('should open loading', driver => {

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('loading/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
});
});

View File

@ -9,7 +9,7 @@
</head>
<body>
<ion-button expand="block" onclick="presentLoading()" class="e2eShowLoading">Show Loading</ion-button>
<ion-button id="basic" expand="block" onclick="presentLoading()" class="e2eShowLoading">Show Loading</ion-button>
<ion-loading-controller></ion-loading-controller>

View File

@ -8,19 +8,19 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/menu/test/basic?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#left');
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'))));
await this.driver.wait(until.elementLocated(By.css('.menu-inner')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.menu-inner'))));
}
}
platforms.forEach(platform => {
describe('menu/basic', () => {
describe.skip('menu/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#left');
});
register('should open left menu', driver => {

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/modal/test/basic?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#presentModal');
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'))));
await this.driver.wait(until.elementLocated(By.css('.modal-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.modal-wrapper'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('modal/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#presentModal');
});
});
});

View File

@ -20,7 +20,7 @@
<ion-content padding>
<ion-modal-controller></ion-modal-controller>
<p>
<ion-button class="e2ePresentModal" onclick="presentModal()">Present modal</ion-button>
<ion-button id="presentModal" class="e2ePresentModal" onclick="presentModal()">Present modal</ion-button>
</p>
</ion-content>
</ion-page>

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/modal/test/standalone?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#basic');
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'))));
await this.driver.wait(until.elementLocated(By.css('.modal-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.modal-wrapper'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('modal/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
register('shows basic modal', driver => {

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/popover/test/basic?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#content');
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'))));
await this.driver.wait(until.elementLocated(By.css('.popover-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.popover-wrapper'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('popover/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -22,7 +22,7 @@
</ion-toolbar>
</ion-header>
<ion-content padding>
<ion-content id="content" padding>
<ion-button class="e2eShowPopover" expand="block" onclick="presentPopover({ component: 'profile-page', ev: event })">Show Popover</ion-button>
<ion-button expand="block" onclick="presentPopover({ component: 'translucent-page', ev: event, translucent: true })">Show Translucent Popover</ion-button>
<ion-button expand="block" color="secondary" onclick="presentPopover({ component: 'list-page', ev: event })">Show Long List Popover</ion-button>

View File

@ -8,11 +8,11 @@ class E2ETestPage extends Page {
super(driver, `http://localhost:3333/src/components/popover/test/standalone?ionicplatform=${platform}`);
}
present(buttonId) {
this.navigate();
async present(buttonId) {
await this.navigate('#basic');
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'))));
await this.driver.wait(until.elementLocated(By.css('.popover-wrapper')));
return await this.driver.wait(until.elementIsVisible(this.driver.findElement(By.css('.popover-wrapper'))));
}
}
@ -20,7 +20,7 @@ platforms.forEach(platform => {
describe('popover/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#basic');
});
register('shows basic popover', driver => {

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('radio/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -15,7 +15,7 @@
</ion-toolbar>
</ion-header>
<ion-content class="radio-test outer-content">
<ion-content id="content" class="radio-test outer-content">
<ion-list>
<ion-radio-group id="fruitRadio">
<ion-item-divider>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('radio/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#radio2');
});
});
});

View File

@ -9,7 +9,7 @@
</head>
<body>
<ion-radio></ion-radio>
<ion-radio id="radio1"></ion-radio>
<ion-radio color="primary"></ion-radio>
<ion-radio color="secondary"></ion-radio>
<ion-radio color="danger"></ion-radio>
@ -17,7 +17,7 @@
<ion-radio color="light"></ion-radio>
<ion-radio disabled></ion-radio>
<ion-radio checked></ion-radio>
<ion-radio id="radio2" checked></ion-radio>
<ion-radio color="primary" checked></ion-radio>
<ion-radio color="secondary" checked></ion-radio>
<ion-radio color="danger" checked></ion-radio>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('range/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-list-header>
Range color

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('refresher/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#list');
});
});
});

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('reorder/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -20,7 +20,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<ion-list>
<ion-reorder-group id="reorder">

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('searchbar/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#content');
});
});
});

View File

@ -17,7 +17,7 @@
</ion-toolbar>
</ion-header>
<ion-content>
<ion-content id="content">
<h5 padding-left padding-top> Search - Default </h5>
<ion-searchbar value="test" type="tel" show-cancel-button debounce="500">
</ion-searchbar>

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('searchbar/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#dynamicProp');
});
});
});

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('segment/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#dynamicAttrElem');
});
});
});

View File

@ -13,7 +13,7 @@ platforms.forEach(platform => {
describe('segment/standalone', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#browserSegment');
});
});
});

View File

@ -14,7 +14,7 @@ platforms.forEach(platform => {
describe('select/basic', () => {
register('should init', driver => {
const page = new E2ETestPage(driver, platform);
return page.navigate();
return page.navigate('#gender');
});
register('should open gender single select', driver => {

Some files were not shown because too many files have changed in this diff Show More