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)
|
||
}
|
||
)() |