mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-23 05:58:26 +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 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', () => {
|
||||
register('navigates', (driver) => {
|
||||
driver.navigate().to(url);
|
||||
driver.wait(until.elementLocated(By.id('cancelOnly')));
|
||||
return driver.wait(until.elementIsVisible(driver.findElement(By.id('cancelOnly'))));
|
||||
register('navigates', driver => {
|
||||
const page = new Page(driver);
|
||||
return page.navigate();
|
||||
});
|
||||
|
||||
describe('present', () => {
|
||||
register('shows basic', (driver) => {
|
||||
driver.navigate().to(url);
|
||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('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 basic', driver => {
|
||||
const page = new Page(driver);
|
||||
return page.present('basic');
|
||||
});
|
||||
|
||||
register('shows noBackdropDismiss', (driver) => {
|
||||
driver.navigate().to(url);
|
||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('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 noBackdropDismiss', (driver) => {
|
||||
const page = new Page(driver);
|
||||
return page.present('noBackdropDismiss');
|
||||
});
|
||||
|
||||
register('shows alertFromActionSheet', (driver) => {
|
||||
driver.navigate().to(url);
|
||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('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 alertFromActionSheet', (driver) => {
|
||||
const page = new Page(driver);
|
||||
return page.present('alertFromActionSheet');
|
||||
});
|
||||
|
||||
register('shows scrollableOptions', (driver) => {
|
||||
driver.navigate().to(url);
|
||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('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 scrollableOptions', (driver) => {
|
||||
const page = new Page(driver);
|
||||
return page.present('scrollableOptions');
|
||||
});
|
||||
|
||||
register('shows scrollWithoutCancel', (driver) => {
|
||||
driver.navigate().to(url);
|
||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('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 scrollWithoutCancel', (driver) => {
|
||||
const page = new Page(driver);
|
||||
return page.present('scrollWithoutCancel');
|
||||
});
|
||||
|
||||
register('shows cancelOnly', (driver) => {
|
||||
driver.navigate().to(url);
|
||||
driver.wait(until.elementIsEnabled(driver.findElement(By.id('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'))));
|
||||
register('shows cancelOnly', (driver) => {
|
||||
const page = new Page(driver);
|
||||
return page.present('cancelOnly');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user