与Phantomjs GhostDriver实习生

时间:2013-07-01 21:36:55

标签: javascript phantomjs intern

我正在尝试将Intern设置为在Windows 7计算机上与PhantomJS一起运行

现在我的设置如下:

演示测试root/unit/tests/phantom.js

define([
    'intern!object',
    'intern/chai!assert'
], function(registerSuite, assert) {

registerSuite({
    name: 'PhantomTest',

    'dummy': function () {
        assert(true, "Works!");
    }

});

});

配置文件root/unit/intern.config.js

define({

proxyPort: 9000,

proxyUrl: 'http://localhost:9000/',

capabilities: {
    'selenium-version': '2.30.0'
},

environments: [
    {
      browserName: 'phantom'
    }
],
maxConcurrency: 3,

useSauceConnect: false,

webdriver: {
    host: 'localhost',
    port: 4444
},

// used here
loader: {
},

suites: [ 'unit/tests/phantom.js' ],


functionalSuites: [ /* 'myPackage/tests/functional' */ ],


excludeInstrumentation: /^tests\//
});

通过在浏览器中运行此测试和配置,它可以正常工作。

使用PhantomJS运行实习生我执行:

phantomjs --webdriver=4444

cd root
node node_modules\intern\runner.js config=unit/intern.config

运行Phantomjs的控制台然后返回:

[INFO  - 2013-07-01T21:29:07.253Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: 42ba5b50-e295-11e2-86f7-e331eb8b922d

而另一个输出以下消息而没有任何进一步的日志:

Defaulting to "runner" reporter
Listening on 0.0.0.0:9000
Initialised phantomjs 1.9.1 on windows-7-32bit

我缺少什么提示?

1 个答案:

答案 0 :(得分:1)

原因是https://github.com/ariya/phantomjs/issues/10522; phantomjs正在使用一个没有Function.prototype.bind的极其旧版本的JavaScriptCore。此时您最好的选择是切换到使用geezer版本的Intern,它应该在这个旧环境中正常工作。