mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-16 18:17:31 +08:00
36 lines
859 B
JavaScript
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;
|