mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-23 14:01:20 +08:00
refactor(e2e-tests): use a page class
Just one way to reduce a lot of repetative code.
This commit is contained in:
@ -6,62 +6,61 @@ const until = webdriver.until;
|
|||||||
|
|
||||||
const register = require('../../../../scripts/register-e2e-test');
|
const register = require('../../../../scripts/register-e2e-test');
|
||||||
|
|
||||||
const url = 'http://localhost:3333/src/components/action-sheet/test/basic.html';
|
class Page {
|
||||||
|
constructor(driver) {
|
||||||
|
this.url = 'http://localhost:3333/src/components/action-sheet/test/basic.html';
|
||||||
|
this.driver = driver;
|
||||||
|
}
|
||||||
|
|
||||||
|
navigate() {
|
||||||
|
this.driver.navigate().to(this.url);
|
||||||
|
this.driver.wait(until.elementLocated(By.id('cancelOnly')));
|
||||||
|
return this.driver.wait(until.elementIsVisible(this.driver.findElement(By.id('cancelOnly'))));
|
||||||
|
}
|
||||||
|
|
||||||
|
present(buttonId) {
|
||||||
|
this.navigate();
|
||||||
|
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'))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
describe('action-sheet: basic', () => {
|
describe('action-sheet: basic', () => {
|
||||||
register('navigates', (driver) => {
|
register('navigates', driver => {
|
||||||
driver.navigate().to(url);
|
const page = new Page(driver);
|
||||||
driver.wait(until.elementLocated(By.id('cancelOnly')));
|
return page.navigate();
|
||||||
return driver.wait(until.elementIsVisible(driver.findElement(By.id('cancelOnly'))));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('present', () => {
|
describe('present', () => {
|
||||||
register('shows basic', (driver) => {
|
register('shows basic', driver => {
|
||||||
driver.navigate().to(url);
|
const page = new Page(driver);
|
||||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('basic'))));
|
return page.present('basic');
|
||||||
driver.findElement(By.id('basic')).click();
|
|
||||||
driver.wait(until.elementLocated(By.css('.action-sheet-container')));
|
|
||||||
return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container'))));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
register('shows noBackdropDismiss', (driver) => {
|
register('shows noBackdropDismiss', (driver) => {
|
||||||
driver.navigate().to(url);
|
const page = new Page(driver);
|
||||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('noBackdropDismiss'))));
|
return page.present('noBackdropDismiss');
|
||||||
driver.findElement(By.id('noBackdropDismiss')).click();
|
|
||||||
driver.wait(until.elementLocated(By.css('.action-sheet-container')));
|
|
||||||
return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container'))));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
register('shows alertFromActionSheet', (driver) => {
|
register('shows alertFromActionSheet', (driver) => {
|
||||||
driver.navigate().to(url);
|
const page = new Page(driver);
|
||||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('alertFromActionSheet'))));
|
return page.present('alertFromActionSheet');
|
||||||
driver.findElement(By.id('alertFromActionSheet')).click();
|
|
||||||
driver.wait(until.elementLocated(By.css('.action-sheet-container')));
|
|
||||||
return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container'))));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
register('shows scrollableOptions', (driver) => {
|
register('shows scrollableOptions', (driver) => {
|
||||||
driver.navigate().to(url);
|
const page = new Page(driver);
|
||||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('scrollableOptions'))));
|
return page.present('scrollableOptions');
|
||||||
driver.findElement(By.id('scrollableOptions')).click();
|
|
||||||
driver.wait(until.elementLocated(By.css('.action-sheet-container')));
|
|
||||||
return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container'))));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
register('shows scrollWithoutCancel', (driver) => {
|
register('shows scrollWithoutCancel', (driver) => {
|
||||||
driver.navigate().to(url);
|
const page = new Page(driver);
|
||||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('scrollWithoutCancel'))));
|
return page.present('scrollWithoutCancel');
|
||||||
driver.findElement(By.id('scrollWithoutCancel')).click();
|
|
||||||
driver.wait(until.elementLocated(By.css('.action-sheet-container')));
|
|
||||||
return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container'))));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
register('shows cancelOnly', (driver) => {
|
register('shows cancelOnly', (driver) => {
|
||||||
driver.navigate().to(url);
|
const page = new Page(driver);
|
||||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('cancelOnly'))));
|
return page.present('cancelOnly');
|
||||||
driver.findElement(By.id('cancelOnly')).click();
|
|
||||||
driver.wait(until.elementLocated(By.css('.action-sheet-container')));
|
|
||||||
return driver.wait(until.elementIsVisible(driver.findElement(By.css('.action-sheet-container'))));
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user