30 lines
769 B
JavaScript
30 lines
769 B
JavaScript
const Nightmare = require('nightmare');
|
|
const config = require('./config.js');
|
|
|
|
let nightmare;
|
|
|
|
module.exports = function createNightmare(width = 1280, height = 800) {
|
|
if (nightmare)
|
|
return nightmare;
|
|
|
|
nightmare = new Nightmare({
|
|
show: process.env.E2E_SHOW,
|
|
typeInterval: 10,
|
|
x: 0,
|
|
y: 0,
|
|
waitTimeout: 2000,
|
|
// openDevTools: {mode: 'detach'}
|
|
}).viewport(width, height);
|
|
|
|
nightmare.on('console', (type, message, ...args) => {
|
|
if (type === 'error') {
|
|
console[type](message, ...args);
|
|
throw new Error(message);
|
|
} else
|
|
console[type](message, ...args);
|
|
});
|
|
|
|
nightmare.header('Accept-Language', 'en');
|
|
return nightmare.goto(config.url);
|
|
};
|