【问题标题】:Running intern with PhantomJS: window is undefined使用 PhantomJS 运行实习生:窗口未定义
【发布时间】:2014-03-13 19:42:52
【问题描述】:

我已按照此处描述的所有步骤操作:https://github.com/theintern/intern/wiki/Using-Intern-with-PhantomJS

我的实习生配置如下:

define({
  proxyPort: 9000,
  proxyUrl: 'http://localhost:9000/',
  environments: [
    { browserName: 'phantom' }
  ],
  maxConcurrency: 3,
  useSauceConnect: false,
  webdriver: {
    host: 'localhost',
    port: 4444
  },
  reporters: ['runner'],
  useLoader: {
    'host-node': 'dojo/dojo',
    'host-browser': 'node_modules/dojo/dojo.js'
  },
  loader: {
    packages: [
      { name: 'myApp', location: '...' }
    ],
    baseUrl: '...',
    paths: {...}
  },
  suites: [
    'test/hello'
  ],
  functionalSuites: [],
  excludeInstrumentation: /(^test(\/|\\)|reporters|node_modules)/
});

我用 phantomJS 运行

.\node_modules\.bin\phantomjs --webdriver 4444 --webdriver-loglevel='debug' 

它在 4444 上监听。

我什至禁用了 Windows 防火墙,但我还是得到了

ReferenceError: window is not defined
    at ***.js:348:142
    at Function.vm.runInThisContext (***\node_modules\intern\node_modules\istanbul\lib\hook.js:163:16)
    at ***\node_modules\intern\node_modules\dojo\dojo.js:757:8
    at fs.js:266:14
    at Object.oncomplete (fs.js:107:15)

好像 Intern 在节点上运行,而不是在 Phatom 中。 Phantom 的控制台也完全静音。

我错过了什么?或者有没有办法调试实习生的行为?谢谢

【问题讨论】:

    标签: phantomjs intern


    【解决方案1】:

    好的,我终于想通了。

    我一直在使用

    进行实习
    .\node_modules\.bin\intern-client config=test/intern
    

    本应如此

    .\node_modules\.bin\intern-runner config=test/intern
    

    intern-runnerintern-client 是两个不同的应用程序,一个是通过 WebDriver 在浏览器上运行,另一个是在 Node 上运行。即使我不止一次地阅读和重新阅读文档,它也没有引起我的注意。可能应该在此处突出显示区别。

    希望这可以帮助某人)

    【讨论】:

    • 如果您要测试整个页面,您还需要在配置中将测试从套件移动到功能套件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2021-10-06
    相关资源
    最近更新 更多