gpt4 book ai didi

automated-tests - 在服务器上运行带有Mocha的NightmareJS(Bamboo代理)

转载 作者:行者123 更新时间:2023-12-03 13:23:42 24 4
gpt4 key购买 nike

我一直在与这个问题作斗争一段时间,似乎找不到解决办法。在服务器上使用NightmareJS + mocha运行测试时,它们将失败。我尝试运行:

DEBUG=nightmare:* env ENV=staging mocha --harmony tests.js

但是看不到任何日志/操作错误等。只是测试失败(定时)。
Error: timeout of 30000ms exceeded. Ensure the done() callback is being called in this test.

我只能在没有NightmareJS的情况下运行Mocha测试,并且它们工作正常。另外,在我的本地计算机上运行nighmareJS测试时,它们可以正常工作。

NightmareJS安装在服务器上,package.json内容:
"dependencies": {
"chai": "^3.5.0",
"mocha": "^2.4.5",
"mocha-generators": "^1.2.0",
"mocha-bamboo-reporter": "*",
"nightmare": "^2.2.0",
"nodeunit" : "~0.8"
}

这是测试的代码:
require('mocha-generators').install();
var Nightmare = require('nightmare');
var expect = require('chai').expect;

var url = null;
var options = {
show: false,
'webPreferences': {
partition: 'something_xyz'
}
};
if (process.env.ENV === 'staging') {
console.log("Running tests against staging environment");
url = 'https://staging.something.com/app/';

} else {
console.log("Running tests against local environment");
url = 'http://localhost:8080/app/';
}

describe('Nightmare JS tests', function() {
this.timeout(30000);

describe('base functionality', function() {
var nightmare;
before(function*() {
nightmare = Nightmare(options);
});

after(function*() {
var endTest = yield nightmare
.end()
});

it('Should be able to login', function*() {

var result = yield nightmare
.goto(url)
.wait('img.google-login-btn')
.click('img.google-login-btn')
.wait('div.main-content.row h4')
.wait(1000)
.evaluate(function () {
return document.querySelector('div.main-content.row h4').innerText;

})

expect(result).to.equal("Logged in!");

});

// here are the rest of the tests

});
});

我该如何调试?由于我在服务器上运行,因此无法使用show:true选项。

最佳答案

在 headless 环境中,您可能会遇到/nightmare的一般问题。有关详细信息,请参见https://github.com/segmentio/nightmare/issues/224。最简单的解决方案是安装Xvfb并使用xvfb-run mocha ...运行

您还可以传递电子的DEBUG标志,例如DEBUG=nightmare*,electron*,并获取其他调试输出,这可能会在像Nightmare和Electron从未成功启动的情况下提供帮助。

关于automated-tests - 在服务器上运行带有Mocha的NightmareJS(Bamboo代理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36641279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com