【问题标题】:getting started with intern (javascript testing) on Windows 7在 Windows 7 上开始实习(javascript 测试)
【发布时间】:2014-11-23 09:00:46
【问题描述】:
我似乎无法开始使用实习生进行 Javascript 测试。 按照说明安装软件后,当我尝试使用默认配置运行示例测试并进行 1 次小改动时,我仍然遇到错误——我使用 NullTunnel 而不是 SauceLabsTunnel。有人可以帮我解决这个问题吗? 我做了以下... 1)在windows 7系统上下载并安装npm和node。 2) 在命令行上执行“npm install intern”行。 3) 将测试目录和 example.intern.js 文件(从 node_modules/intern 中)复制到名为 throwaway 的目录中。 4) 将“example.intern.js”重命名为“intern.js” 4.5) 编辑了 intern.js 文件并将 'tunnel' 从 'SuaceLabsTunnel' 更改为 'NullTunnel'。 5)下载文件'selenium-server-standalone-2.41.0.jar' 6) 使用命令行“java -jar selenium-server-standalone-2.41.0.jar”执行文件 7) 在不同的命令行上,执行以下 '\node_modules\.bin\intern-runner.cmd config=intern.js' 8)得到输出...... 收听 0.0.0.0:9000 启动隧道... TypeError: Object # has no method 'relative' 在 getSource (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:191:22) 在 formatLine (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:230:40) 在 processChromeTrace (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:242:16) 在 normalizeStackTrace (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:293:38) 在 Object.getErrorMessage (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:396:14) 在 Object.logError (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:432:23) 在 Object./error (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/reporters/runner.js:41:9) 在 Object.target.(anonymous function).dispatcher [as on/error] (C:/Users/someuser/workspace/web/throwaway/node_modul es/intern/node_modules/dojo/aspect.js:91:38) 在 Function.on.emit (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/on.js:281:37) 在 Object.Evented.emit (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Evented.js:3 1:19) -------------------------------------- 在 signalDeferred (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred .js:84:15) 在 signalListener (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:55:5) 在 signalWaiting (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:28:4) 在reject.reject (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:219:5) 在 signalDeferred (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:84:15 ) 在 signalListener (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:58:4) 在 signalWaiting (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:28:4) 在reject.reject (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:219:5) 在 C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\leadfoot\node_modules\dojo\Promise.js: 256:37 在 runCallbacks (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\leadfoot\node_modules\do 乔\Promise.js:13:18) -------------------------------------- [对象延迟] 在 Promise.then.promise.then (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferr ed.js:252:24) 在 Suite.run (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/Suite.js:312:7) 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/main.js:54:18 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:325:19 在 Array.forEach (本机) 在 Object.run (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/main.js:53:16) 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/runner.js:275:12 在 execModule (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:515:54) 在 C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:582:7 在guardCheckComplete (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:566:4 ) TypeError: Object # has no method 'relative' 在 getSource (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:191:22) 在 formatLine (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:230:40) 在 processChromeTrace (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:242:16) 在 normalizeStackTrace (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:293:38) 在 Object.getErrorMessage (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:396:14) 在 Object.logError (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:432:23) 在 Object./error (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/reporters/runner.js:41:9) 在 Object.target.(anonymous function).dispatcher [as on/error] (C:/Users/someuser/workspace/web/throwaway/node_modul es/intern/node_modules/dojo/aspect.js:91:38) 在 Function.on.emit (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/on.js:281:37) 在 Object.Evented.emit (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Evented.js:3 1:19) -------------------------------------- 在 signalDeferred (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred .js:84:15) 在 signalListener (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:55:5) 在 signalWaiting (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:28:4) 在reject.reject (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:219:5) 在 signalDeferred (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:84:15 ) 在 signalListener (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:58:4) 在 signalWaiting (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:28:4) 在reject.reject (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:219:5) 在 C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\leadfoot\node_modules\dojo\Promise.js: 256:37 在 runCallbacks (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\leadfoot\node_modules\do 乔\Promise.js:13:18) -------------------------------------- [对象延迟] 在 Promise.then.promise.then (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferr ed.js:252:24) 在 Suite.run (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/Suite.js:312:7) 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/main.js:54:18 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:325:19 在 Array.forEach (本机) 在 Object.run (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/main.js:53:16) 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/runner.js:275:12 在 execModule (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:515:54) 在 C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:582:7 在guardCheckComplete (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:566:4 ) TypeError: Object # has no method 'relative' 在 getSource (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:191:22) 在 formatLine (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:230:40) 在 processChromeTrace (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:242:16) 在 normalizeStackTrace (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:293:38) 在 Object.getErrorMessage (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:396:14) 在 Object.logError (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:432:23) 在 Object./error (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/reporters/runner.js:41:9) 在 Object.target.(anonymous function).dispatcher [as on/error] (C:/Users/someuser/workspace/web/throwaway/node_modul es/intern/node_modules/dojo/aspect.js:91:38) 在 Function.on.emit (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/on.js:281:37) 在 Object.Evented.emit (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Evented.js:3 1:19) -------------------------------------- 在 signalDeferred (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred .js:84:15) 在 signalListener (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:55:5) 在 signalWaiting (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:28:4) 在reject.reject (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:219:5) 在 signalDeferred (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:84:15 ) 在 signalListener (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:58:4) 在 signalWaiting (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:28:4) 在reject.reject (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferred.js:219:5) 在 C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\leadfoot\node_modules\dojo\Promise.js: 256:37 在 runCallbacks (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\leadfoot\node_modules\do 乔\Promise.js:13:18) -------------------------------------- [对象延迟] 在 Promise.then.promise.then (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/node_modules/dojo/Deferr ed.js:252:24) 在 Suite.run (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/Suite.js:312:7) 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/main.js:54:18 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/lib/util.js:325:19 在 Array.forEach (本机) 在 Object.run (C:/Users/someuser/workspace/web/throwaway/node_modules/intern/main.js:53:16) 在 C:/Users/someuser/workspace/web/throwaway/node_modules/intern/runner.js:275:12 在 execModule (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:515:54) 在 C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:582:7 在guardCheckComplete (C:\Users\someuser\workspace\web\throwaway\node_modules\intern\node_modules\dojo\dojo.js:566:4 )

【问题讨论】:

  • “让我开始”不是一个非常具体的问题。你能问一个更具体的问题吗?你到底需要什么帮助。你到底卡在哪里了?此外,您可以做任何事情来正确格式化您的问题 - 尝试阅读它是一个视觉混乱。您通常不能使用 StackOverflow 来获取有关如何开始某事的教程。它更适用于特定问题,例如:“我做了 x、y 和 z,我试图完成 Q,但卡在 P 上。我尝试了 a、b 和 c 来弄清楚,但不知道为什么不会超过 P"。

标签: javascript testing intern


【解决方案1】:

这不是一个非常具体的问题,但我相信错误在于您的配置文件。确保您有以下几行:

// Name of the tunnel class to use for WebDriver tests
tunnel: 'NullTunnel',

// Whether or not to start Sauce Connect before running tests
useSauceConnect: false,

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

在尝试使用您自己的 selenium 服务器之前,我真的强烈建议您注册一个 fee saucelabs 试用版并让实习生示例正常工作。你会为自己省去很多麻烦。

【讨论】:

  • 不幸的是,更新 intern.js 文件并没有帮助上述建议不起作用。我正在努力让实习生成为我工作的公司的 Javascript 测试平台。在迁移到 Saucelabs 服务器之前,我需要证明它在本地工作。
  • 我知道您需要让它在本地运行,但在开始尝试通过本地测试使事情变得更复杂之前,您应该完全让它运行。 Intern 示例使用了 saucelabs,并且应该在不更改任何设置的情况下开箱即用(假设您提供了 saucelabs 信息 - 例如免费试用)。在您可以使示例正常工作后,请尝试进行更改并在本地运行。这将消除对外部问题(系统/路径问题等)的任何疑问。如果您无法使示例正常运行,那么您将很难运行完整的测试套件。
猜你喜欢
  • 2012-04-29
  • 2011-11-10
  • 2012-06-07
  • 2019-03-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-03
相关资源
最近更新 更多