Saucelabs上的websocket立即断开连接(代码1006)

时间:2014-06-24 08:14:32

标签: angularjs websocket saucelabs

我正在尝试为运行websockets的应用程序运行一些简单的测试。 wesocket连接突然停止,测试失败。 测试与websockets完全无关。它们只是点击页面上的按钮,只有在通过websockets接收到一些数据后才会出现。我附上了手动会话的截图。 enter image description here

2 个答案:

答案 0 :(得分:1)

到目前为止,它不是直接支持的(SauceLabs使用Squid作为他们的Connect插件的代理服务器,它在他们的结尾引入了这个限制)。

但是,如果您仍想使用Sauce Connect,则可以通过应用I blogged about here的解决方法轻松解决此问题。

基本理念是:

  1. 在可公开访问的网址上托管一个空白页面(例如:qa.yoursite.com/test-container.html)。除了对localhost的脚本引用(类似localhost / inject.js)
  2. 之外,此页面不包含任何内容
  3. 当您启动Sauce Connect时(如果您正在使用Travis CI,请阅读我的博客条目,那里有关于此的评论),并在您的域中使用-D标记:

    bin / sc -D * .yoursite.com

  4. 让您的计算机/ CI服务器在本地托管inject.js文件。此文件可以执行WebSockets测试,即使它是通过SSH隧道获取的 - 因为它包含在非隧道页面中(yoursite.com/test-container.html)

答案 1 :(得分:0)

自从orcaman的博客以来,SauceLabs已经在他们的脚本中添加了https://docs.travis-ci.com/user/sauce-connect/#Additional-options。您现在可以直接从direct_domains指定no_ssl_bump_domainstunnel_domains.travis.yml

我使用了以下配置

# https://docs.travis-ci.com/user/sauce-connect/
sauce_connect:
  username: "jdanekrh"
  access_key:
    secure: "****"
  no_ssl_bump_domains: "127.0.0.1,localhost"

no_ssl_bump_domains应该阻止squid代理破坏我的WebSockets。它似乎对我有用。 = [1],[2]

来源:https://wiki.saucelabs.com/display/DOCS/Troubleshooting+Sauce+Connect部分禁用SSL Bumping。

  1. https://travis-ci.org/jdanekrh/dispatch-console-tests/jobs/224632420
  2. https://saucelabs.com/beta/builds/9fd55cc6a33a44bfa3653896d5cfb3dc