gpt4 book ai didi

javascript - 错误 : done() invoked with non-Error: {}

转载 作者:搜寻专家 更新时间:2023-11-01 00:17:08 25 4
gpt4 key购买 nike

我正在尝试设置自动测试,在带有 Node.js 的 Selenium 上使用 Mocha 和 PhantomJS。我正在使用 selenium-webdriver库,因为它似乎很受欢迎,但是当我运行测试并尝试从页面中提取数据时,它给了我这个错误:

  1) Test "before each" hook for "Test":
Error: done() invoked with non-Error: {}
at ManagedPromise.invokeCallback_ (node_modules/selenium-webdriver/lib/promise.js:1379:14)
at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:2913:14)
at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js:2896:21)
at node_modules/selenium-webdriver/lib/promise.js:2775:27
at node_modules/selenium-webdriver/lib/promise.js:639:7

我不确定为什么会出现这个问题,搜索也无济于事,因为我的解决方案不适合我的场景;我在:

  • Mac OS X 10
  • Node.js v4.4.5
  • PhantomJS 2.1.1

这是我的脚本:

var selenium = require("selenium-webdriver");
var should = require("should");

var URL = "https://android.com";
var driver;

describe("Test", function() {
this.timeout(15000);

beforeEach(function(done) {
driver = new selenium.Builder()
.withCapabilities(selenium.Capabilities.phantomjs())
.build();
driver.get(URL).then(done);
});

/* is this an HTML page? */
it("Test", function() {
driver
.getPageSource()
.should.eventually
.match(/(.*)\<\!doctype\ html\>(.*)/i);
});

afterEach(function(done) {
driver.quit().then(done);
});
});

我也尝试过使用我发现的一些 gulp 脚本和其他 Node.js 库,但它们都返回不同的错误;~;

最佳答案

任何传递给 done 回调的参数都将被解释为错误。将 beforeEach 更改为:

beforeEach(function(done) {
driver = new selenium.Builder()
.withCapabilities(selenium.Capabilities.phantomjs())
.build();
driver.get(URL).then(function(){
done();
});
});

关于javascript - 错误 : done() invoked with non-Error: {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37885169/

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