Javascript 实习医生和幽灵司机
我正在尝试设置Intern在Windows7机器上运行PhantomJS 从现在起,我的设置如下: 演示测试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 () {
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'
路径有效。感谢您的支持,并对由此带来的不便表示歉意。