0

我想用 Mocha+Selenium 来测试一个 webapp。我已经安装了 WebDriverJS(通过 npm install webdriverjs)和 Mocha(通过 npm install mocha)。

当我通过节点(节点 test.js)运行此代码时,会打开一个新的浏览器窗口并加载我要测试的页面

var assert = require("assert");
var selenium_server="10.222.33.187",
    server_under_test="http://xxx.com/";
var webdriverjs = require('webdriverjs');

var client=webdriverjs.remote({
    host:selenium_server,
    port:4444,
});
client.init()
    .url(server_under_test);

如果我通过 Mocha (mocha test.js) 运行此代码,它不会启动新的浏览器。测试通过,无需启动浏览器

var assert = require("assert");
var selenium_server="10.222.33.187",
    server_under_test="http://trapspotter.com/alpha/";
var webdriverjs = require('webdriverjs');

before(function() {
    var client=webdriverjs.remote({
        host:selenium_server,
        port:4444,
    });
    client.init()
        .url(server_under_test);
});

describe("test", function() {
    it("should pass", function() {
        assert(true);
    });
});

关于为什么 Mocha 测试不启动浏览器的任何见解?

4

1 回答 1

0

我通过将 done 传递给 url() 来解决问题

describe("test", function() {
    before(function(done) {
        client.init()
            .url(server_under_test, done);
    });
    it("should pass", function() {
        assert(true);
    });
});
于 2013-04-19T16:01:07.547 回答