0

我正在尝试设置 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

关于我缺少什么的任何提示?

4

1 回答 1

1

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

于 2013-07-02T02:55:42.307 回答