70 lines
1.7 KiB
JavaScript
70 lines
1.7 KiB
JavaScript
|
/**
|
|||
|
* test one single page, make a screenshot and log errors to
|
|||
|
* console
|
|||
|
* (c) 2019 - Leibniz-Insitut für Wissensmedien
|
|||
|
*
|
|||
|
*/
|
|||
|
const puppeteer = require('puppeteer');
|
|||
|
const fs = require("fs")
|
|||
|
const path = require("path")
|
|||
|
const start_dir = process.cwd()
|
|||
|
|
|||
|
|
|||
|
// const start_file = path.join(start_dir,"lib","frames.html")
|
|||
|
const start_file = path.join(start_dir,"lib","pixi","badge.html")
|
|||
|
|
|||
|
function sleep(ms) {
|
|||
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|||
|
}
|
|||
|
|
|||
|
const events = ["error","pageerror"]
|
|||
|
function logPageEvent(event){
|
|||
|
if(event !== undefined){
|
|||
|
console.log(event.message)
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
async function makeScreenshot(href){
|
|||
|
|
|||
|
const browser = await puppeteer.launch({
|
|||
|
// headless: false,
|
|||
|
// loglevel : 0,
|
|||
|
args : [
|
|||
|
'–allow-file-access-from-files',
|
|||
|
],});
|
|||
|
const page = await browser.newPage();
|
|||
|
|
|||
|
await page.setViewport({width: 1024,height : 624})
|
|||
|
for (var i = 0; i < events.length; i++) {
|
|||
|
page.on(events[i],logPageEvent)
|
|||
|
}
|
|||
|
page.once("load",logPageEvent)
|
|||
|
|
|||
|
// await Promise.all([ page.coverage.startJSCoverage() ]);
|
|||
|
await page.goto(href)
|
|||
|
// const jsCoverage = await Promise.all([ page.coverage.stopJSCoverage() ]);
|
|||
|
|
|||
|
const fname = path.parse(href).name
|
|||
|
|
|||
|
if (fname != "index"){
|
|||
|
image_url = href.replace(fname + ".html" ,"thumbnails/" + fname + ".png")
|
|||
|
}
|
|||
|
else{
|
|||
|
image_url = href.replace(fname + ".html" ,"thumbnail.png")
|
|||
|
}
|
|||
|
image_url = image_url.replace("file:///","")
|
|||
|
console.log(image_url)
|
|||
|
// console.log(jsCoverage)
|
|||
|
|
|||
|
page.removeAllListeners()
|
|||
|
|
|||
|
await page.screenshot({path: image_url});
|
|||
|
await browser.close();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
(async function(){
|
|||
|
|
|||
|
await makeScreenshot(start_file)
|
|||
|
}
|
|||
|
)()
|