Hi folks,
I’ve installed Nightmare package from NPM for testing and automation which is based on Electron.
Now there is an issue with runnging Electron without gui I think because Cloud9 workspace doesn’t support this feature.
So, my json package:
{
"scripts": {
"start": "DEBUG=nightmare babel-node ./main.js"
},
"devDependencies": {
"babel-cli": "6.18.0",
"babel-preset-modern-node": "3.2.0",
"babel-preset-stage-0": "6.16.0"
},
"dependencies": {
"nightmare": "2.10.0"
},
"babel": {
"presets": [
[
"modern-node",
{ "version": "6.0" }
],
"stage-0"
]
}
}
It is not necessary to include Electron package because Nightmare has dependencies for it.
Now when Nightmare package installed I’am trying to run basic script for testing if it works (main.js):
import Nightmare from 'nightmare';
const nightmare = Nightmare({ show: false });
nightmare
.goto('https://duckduckgo.com')
.type('#search_form_input_homepage', 'github nightmare')
.click('#search_button_homepage')
.wait('#r1-0 a.result__a')
.evaluate(() => document.querySelector('#r1-0 a.result__a').href)
.end()
.then(console.log)
.catch((error) => {
console.error('Search failed:', error);
});
As a result it throws an arror:
$ npm start
> @ start /home/ubuntu/workspace/nm
> DEBUG=nightmare babel-node ./main.js
nightmare queuing process start +0ms
nightmare queueing action "goto" for https://duckduckgo.com +4ms
nightmare queueing action "type" +1ms
nightmare queueing action "click" +1ms
nightmare queueing action "wait" +0ms
nightmare queueing action "evaluate" +0ms
nightmare running +0ms
nightmare electron child process exited with code 1: general error - you may need xvfb +92ms
nightmare electron child process not started yet, skipping kill. +2ms
I’am pretty new to this stuff and tried as I can but now I’am stuck. Really want to use this package. I think there is a simple solution, may be I should configure Electron somehow to run without GUI or as a node process but I don’t know how.
Any advice will be appreciated, thanks!