gpt4 book ai didi

javascript - Nightmare :错误:超时超过 2000 毫秒。用于异步测试和 Hook

转载 作者:行者123 更新时间:2023-12-03 04:50:48 26 4
gpt4 key购买 nike

我已经开始尝试使用 Nightmare 和 mocha 来执行自动化测试。尽管按照错误本身中的说明进行操作,我还是收到了以下错误。

var Nightmare = require('nightmare');
var expect = require('chai').expect;

var url = 'http://www.google.com/'

describe('Page availability', function() {
it('Should open homepage', function(done) {
var nightmare = Nightmare();

nightmare
.goto(url)
.wait('body')
.evaluate(function () {
return document.querySelector('.gb_P').innerHTML
})
.end()
.then(function(text) {
expect(text).to.equal('images');
done();
})
});
});

当使用“mocha test.js”运行上述脚本时,这是我得到的输出:

Page availability
1) Should open homepage


0 passing (2s)
1 failing

1) Page availability Should open homepage:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

坦白:我(还)不熟悉 Promise,但我不太明白为什么 Mocha 没有考虑我已经完成的 done 回调然后里面提供。

最佳答案

这是因为 Mocha 的默认超时时间为 2 秒,而您的 Nightmare 操作可能需要比该时间更长的时间才能完成。 (众所周知,Google 需要很长时间才能完成加载。)

describeit内部,您可以设置this.timeout(ms),或使用--timeout [ ms] 运行 mocha 命令时。

关于javascript - Nightmare :错误:超时超过 2000 毫秒。用于异步测试和 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42664348/

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