我正在尝试使用带有Node的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
Run Code Online (Sandbox Code Playgroud)
我不确定为什么会出现这个问题,并且搜索没有帮助,因为我的解决方案不符合我的情况; 我上线了:
这是我的脚本:
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 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行Mocha测试,例如,一个事件从Node程序中触发.我试图避免使用child_process
.阅读此 Wiki页面后,我按如下方式设置了我的代码:
var Mocha = require("mocha");
var Reporter = require("./reporter");
var mocha = new Mocha({
ui: "tdd",
reporter: "spec"
});
mocha.addFile("test.js");
mocha.run();
Run Code Online (Sandbox Code Playgroud)
哪里test.js
有有效的摩卡测试.但是当我跑这个时,我会继续ReferenceError: describe is not defined
.为什么会这样?(当我在谷歌上搜索这个问题时,大多数解决方案都是关于test.js
用节点而不是摩卡运行的人.)