Javascript 实习医生和幽灵司机

Javascript 实习医生和幽灵司机,javascript,phantomjs,intern,Javascript,Phantomjs,Intern,我正在尝试设置Intern在Windows7机器上运行PhantomJS 从现在起,我的设置如下: 演示测试root/unit/tests/phantom.js: define([ 'intern!object', 'intern/chai!assert' ], function(registerSuite, assert) { registerSuite({ name: 'PhantomTest', 'dummy': function () {

我正在尝试设置Intern在Windows7机器上运行PhantomJS

从现在起,我的设置如下:

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

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

registerSuite({
    name: 'PhantomTest',

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

});

});
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\//
});
配置文件
root/unit/intern.config.js

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

registerSuite({
    name: 'PhantomTest',

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

});

});
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运行Intern,请执行以下操作:

phantomjs --webdriver=4444
以及:

然后,运行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

有没有关于我遗漏了什么的提示?

原因是;phantomjs使用的是一个非常旧的JavaScriptCore版本,它没有
Function.prototype.bind
。此时,您最好切换到使用Intern的
geezer
版本,该版本应能在这种较旧的环境中正常工作。

Thanx的回答。只要你能成功,我就试试你的解决方案。首先,我已经按照你的建议下载并安装了geezer分支,但没有任何改变。然后我玩了一下
套件
路径,发现解析
'unit/tests/phantom.js'
的起点是
节点/u模块/intern
文件夹。将套件路径更改为“../../unit/tests/phantom.js”有效。Selenium在firefox和chrome上都出现了同样的情况,没有在IE上测试。你不应该在AMD模块标识符的末尾包含“.js”;这使加载程序认为您试图加载的是一个普通的JS文件,而不是AMD模块,它绕过了一些路径解析代码。但是,我会确保有人检查以确保geezer branch中没有bug。愚蠢的错误:(通过删除
.js
'unit/tests/phantom'
路径有效。感谢您的支持,并对由此带来的不便表示歉意。