2

我正在尝试为运行 websockets 的应用程序运行一些简单的测试。wesocket 连接突然停止,测试失败。这些测试根本与 websockets 无关。它们是关于单击页面上的一个按钮,该按钮仅在通过 websocket 接收到一些数据后才会出现。我附上了手动会话的屏幕截图。 在此处输入图像描述

4

2 回答 2

1

到目前为止,它还没有被直接支持(SauceLabs 使用 Squid 作为他们的 Connect Plugin 的代理服务器,这在他们的末端引入了这个限制)。

但是,如果您仍想使用 Sauce Connect - 您可以通过应用我在此处博客中提到的解决方法来轻松解决此问题。

基本思想是这样的:

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

    bin/sc -D *.yoursite.com

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

于 2014-10-04T16:01:05.030 回答
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
于 2017-04-22T09:52:52.413 回答