带有 Nightmare 的 Codeceptjs 不输出测试结果

Codeceptjs with Nightmare doesn't output result of test

基本上,我按照 http://codecept.io/ 页面上的 get started 部分中的描述进行了所有操作。

devDependencies 来自 package.json:

"codeceptjs": "^0.5.1",
"nightmare": "^2.10.0",
"nightmare-upload": "^0.1.1"

codecept.json:

{
  "tests": "./tests/acceptance/*_test.js",
  "timeout": 10000,
  "output": "./output",
  "helpers": {
    "Nightmare": {
      "url": "http://localhost:8080",
      "show": false,
      "restart": false
    }
  },
  "include": {},
  "bootstrap": false,
  "mocha": {},
  "name": "vagrant"
}

测试本身也来自教程:

Feature('My first test');

Scenario('test something', (I) => {
    I.amOnPage('http://yahoo.com');
    I.fillField('p', 'github nightmare');
    I.click('Search Web');
    I.waitForElement('#main');
    I.seeElement('#main .searchCenterMiddle li a');
    I.seeElement("//a[contains(@href,'github.com/segmentio/nightmare')]");
    I.see('segmentio/nightmare','#main li a');
});

当我 运行 codeceptjs run --steps 我在控制台中得到一个输出: screenshot

测试通过或失败并不重要,输出始终相同。

有人知道我做错了什么以及如何解决吗?

好的。我设法让它工作。问题是虚拟缓冲区(我 运行 来自 vagrant 内部的 codeceptjs)。 在这种情况下,解决方案很简单也很常见,但我完全忘记了。

您需要 运行 codeceptjs 与 xvfb。它看起来像这样:

xvfb-run --server-args='-screen 0 1024x768x24' codeceptjs run --steps

不要忘记在之前安装所有必要的库:

sudo apt-get install pkg-config libjpeg-dev libgif-dev g++ git-all xvfb libgtk2.0-0 dbus-x11 -y;
sudo apt-get install libnss3-dev -y;
sudo apt-get install gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable -y;