mirror of
https://github.com/ducbao414/win32.run.git
synced 2025-12-17 01:32:50 +09:00
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
const StaticServer = require('static-server');
|
|
const puppeteer = require('puppeteer');
|
|
const port = 8787;
|
|
const width = 800;
|
|
const height = 600;
|
|
const server = new StaticServer({
|
|
rootPath: '.',
|
|
port: port,
|
|
cors: '*',
|
|
});
|
|
|
|
const startServer = () => new Promise((resolve) => {
|
|
server.start( () => {
|
|
console.log('Server listening to', port);
|
|
resolve();
|
|
});
|
|
});
|
|
|
|
module.exports = {
|
|
setup: async () => {
|
|
let browser = await puppeteer.launch();
|
|
let page = await browser.newPage();
|
|
await page.setViewport({ width, height });
|
|
await startServer();
|
|
page.on('console', msg => {
|
|
for (let i = 0; i < msg.args().length; ++i) console.log(`${i}: ${msg.args()[i]}`);
|
|
});
|
|
return {browser,page};
|
|
},
|
|
cleanup: (browser) => {
|
|
server.stop();
|
|
browser.close();
|
|
},
|
|
navigate: async function (page, path = 'index.html') {
|
|
await page.goto(`http://127.0.0.1:${port}/test/files/${path}`);
|
|
},
|
|
inputFile: async function (file,page){
|
|
const fileInp = await page.$('#file');
|
|
fileInp.uploadFile('test/files/'+file);
|
|
},
|
|
response: async function (page){
|
|
await page.waitForSelector('#done');
|
|
return await page.evaluate(`window.obj`);
|
|
}
|
|
};
|
|
|