基本上,我按http://codecept.io/页上的get started
部分所述完成了所有操作。
package.json中的devDependencies:
"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
测试应该通过还是失败无关紧要,输出总是一样的。
有人知道我做错了什么以及如何解决它?
答案 0 :(得分:2)
确定。我设法让它工作。问题是虚拟缓冲区(我从vagrant内部运行codeceptjs)。 在这种情况下,解决方案很简单和常见,但我完全忘了它。
您需要使用xvfb
运行codeceptjs。它看起来像这样:
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;