0

我为 Polymer Web 组件创建了几个测试。测试是根据 polycast #36 中提供的指南编写的。当我在本地使用 Web-Component-Tester 运行测试时,一切都很好并且我的测试通过了。当我在本地浏览器(chrome 和 firefox)中运行测试时,一切都很好。

我还建立了 Travis-CI 和 Sauce Labs 进行自动化测试。Travis 可以在 shell 中本地运行 WCT。这非常有效,我的测试通过了。然而,当 WCT 在启用了 sauce 插件的情况下运行,并且测试在 sauce labs 浏览器上运行时,只有异步测试会失败。

我的测试正在等待一个 JS 事件被触发。我认为该事件从未收到。WCT 的输出并没有真正的帮助。它只是抱怨 done() 方法从未被调用过。

WCT 和 Sauce Labs 是否有其他人遇到同样的问题?如果是这样,是否有人对这些异步测试有解决方案?

编辑 1: 我应该补充一点,我的组件包装了本机 websocket。异步测试等待组件在捕获 websocket 事件后重新触发的 websocket 事件。

4

1 回答 1

0

这个问题可能与 Sauce Labs 的 SSL Bumping 有关。
我无法弄清楚为什么在 Sauce 浏览器中运行时外部连接失败。

解决方案是存根 websocket 连接,以便只测试包装器而不是包装器 + websocket。
存根的另一个优点当然是测试运行得更快。

于 2016-01-03T12:54:47.233 回答