test(tabs): add e2e tests for basic scenario with pages, and vanilla scenario with divs

This commit is contained in:
Dan Bucholtz
2017-12-21 15:31:26 -06:00
parent c1677dab8e
commit 00e11bd4d9
2 changed files with 70 additions and 0 deletions

View File

@ -15,5 +15,40 @@ platforms.forEach(platform => {
const page = new E2ETestPage(driver, platform); const page = new E2ETestPage(driver, platform);
return page.navigate(); return page.navigate();
}); });
register('should check each tab', async (driver, testContext) => {
testContext.timeout(60000);
const page = new E2ETestPage(driver, platform);
await waitForTransition(300);
const tabTwoButton = await waitAndGetElementById(driver, 'tab-t-0-1');
tabTwoButton.click();
await waitForTransition(600);
const tabThreeButton = await waitAndGetElementById(driver, 'tab-t-0-2');
tabThreeButton.click();
await waitForTransition(600);
});
}); });
}); });
async function waitAndGetElement(driver, selector) {
driver.wait(until.elementLocated(By.css(selector)));
const element = driver.findElement(By.css(selector));
await driver.wait(until.elementIsVisible(driver.findElement(By.css(selector))));
return element;
}
async function waitAndGetElementById(driver, selector) {
driver.wait(until.elementLocated(By.id(selector)));
const element = driver.findElement(By.id(selector));
await driver.wait(until.elementIsVisible(driver.findElement(By.id(selector))));
return element;
}
function waitForTransition(duration) {
return new Promise(resolve => {
setTimeout(resolve, duration);
})
}

View File

@ -15,5 +15,40 @@ platforms.forEach(platform => {
const page = new E2ETestPage(driver, platform); const page = new E2ETestPage(driver, platform);
return page.navigate(); return page.navigate();
}); });
register('should check each tab', async (driver, testContext) => {
testContext.timeout(60000);
const page = new E2ETestPage(driver, platform);
await waitForTransition(300);
const tabTwoButton = await waitAndGetElementById(driver, 'tab-t-0-1');
tabTwoButton.click();
await waitForTransition(600);
const tabThreeButton = await waitAndGetElementById(driver, 'tab-t-0-2');
tabThreeButton.click();
await waitForTransition(600);
});
}); });
}); });
async function waitAndGetElement(driver, selector) {
driver.wait(until.elementLocated(By.css(selector)));
const element = driver.findElement(By.css(selector));
await driver.wait(until.elementIsVisible(driver.findElement(By.css(selector))));
return element;
}
async function waitAndGetElementById(driver, selector) {
driver.wait(until.elementLocated(By.id(selector)));
const element = driver.findElement(By.id(selector));
await driver.wait(until.elementIsVisible(driver.findElement(By.id(selector))));
return element;
}
function waitForTransition(duration) {
return new Promise(resolve => {
setTimeout(resolve, duration);
})
}