【问题标题】:Why might Intern timeout with BrowserStack, but not Sauce Labs?为什么 Intern 可能会在 BrowserStack 上超时,而不是 Sauce Labs?
【发布时间】:2014-12-12 09:48:29
【问题描述】:

编辑:这已作为一个有趣的网络问题得到解决,请参阅下面的我的 cmets 和答案。

原帖

我的目标:与实习生一起在 BrowserStack 上设置概念验证测试。

我查看了intern-tutorial,这对我来说在 Sauce Labs 上运行良好,现在我只想了解如何修改该配置以在 BrowserStack 上进行测试,这对我来说一直失败。

终端命令,按照教程:

./node_modules/.bin/intern-runner config=tests/intern

运行时,我得到:

Listening on 0.0.0.0:9000
Starting tunnel...
BrowserStackLocal v2.2
Connecting to BrowserStack using WebSocket protocol...
Connected.
Ready
Error: connect ETIMEDOUT
  at errnoException  <net.js:904:11>
  at Object.afterConnect [as oncomplete]  <net.js:895:19>

TOTAL: tested 0 platforms, 0/0 tests failed; fatal error occurred

环境
操作系统:Mac OS X 10.9.4
节点:0.10.29
NPM:1.4.21
实习生: 2.0.1

在 ~/.bash_profile 中设置的变量为:

export BROWSERSTACK_USERNAME="<my_actual_username>"
export BROWSERSTACK_ACCESS_KEY="<my_actual_access_key>"

在测试/实习生中设置实习生配置为:

define({
    proxyPort: 9000,
    proxyUrl: 'http://localhost:9000/',

    capabilities: {
        'selenium-version': '2.41.0'
    },

    environments: [
        { os: "Windows", os_version: "8.1", browser: "chrome", browser_version: "34.0" }
    ],

    maxConcurrency: 3,

    tunnel: 'BrowserStackTunnel',
    tunnelOptions: {
        verbose: true
    },

    loader: {
        packages: [ { name: 'app', location: 'app' } ]
    },

    suites: [ 'tests/hello' ],

    functionalSuites: [ 'tests/functional/index' ],

    excludeInstrumentation: /^(?:tests|node_modules)\//
});

这就是自完成教程以来发生的所有变化:

  • 删除了除一个环境对象之外的所有环境对象(为简单起见),将其修改为 BrowserStack 支持的格式。
  • 将“隧道”属性设置为适当的隧道类。
  • 设置 tunnelOptions: { verbose: true } 进行调试。

我尝试过的事情:

我的环境对象应该是有效的,因为它基于来自:
https://www.browserstack.com/automate/browsers.json

我觉得这里缺少一些关于配置的基本内容。

【问题讨论】:

  • 您能否安装 longjohn 并确定该可怕错误的来源,以便我们可以减少它的用处?谢谢:)
  • @CSnover,我现在非常有信心这是一个 WebSocket 问题。这是我与 longjohn 的输出:pastebin.com/Cd4cQeCp
  • 据报道(在不相关的应用程序中),WebSocket - BrowserStack 试图在这里使用 - 在许多移动网络上被阻止。我碰巧使用 Verizon Jetpack 进行 WiFi。请参阅此处的一些帖子示例:socketio4net.codeplex.com/discussions/458768

标签: node.js intern


【解决方案1】:

你能看看intern config file,我用它在浏览器堆栈上运行测试。希望它能帮助您解决问题。

【讨论】:

    【解决方案2】:

    我已通过在不同网络和相同配置下的 A/B 测试确认,这是由于 Verizon Wireless 阻止了 WebSocket 连接,这已在其他地方报告过(请参阅我的 cmets 关于原始问题)。

    这可能很难诊断。我希望它对将来的人有所帮助!

    【讨论】:

      猜你喜欢
      • 2014-03-01
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多