Files
ionic-framework/packages/core/scripts/register-e2e-test.js
2017-10-29 12:09:13 -05:00

36 lines
859 B
JavaScript

'use strict';
const fs = require('fs');
const webdriver = require('selenium-webdriver');
function takeScreenshot(driver, name) {
return driver.takeScreenshot().then(function(data) {
var base64Data = data.replace(/^data:image\/png;base64,/, '');
fs.writeFile(`${name}.png`, base64Data, 'base64', function(err) {
if (err) console.log(err);
});
});
}
function allowForAnnimation() {
return new Promise((resolve, reject) => {
setTimeout(function() {
resolve();
}, 300);
});
}
function registerE2ETest(desc, tst) {
it(desc, async () => {
const driver = new webdriver.Builder().forBrowser('chrome').build();
await tst(driver);
if (process.env.takeScreenshots) {
await allowForAnnimation();
takeScreenshot(driver, desc);
}
return driver.quit();
});
}
module.exports = registerE2ETest;