社区中是否有人使用 Browserstack 作为他们的云提供商成功地在 Jenkins 中创建了 Selenium 构建,同时需要防火墙后面的本地测试连接?
我可以肯定地说,Saucelabs 使用 Sauce Jenkins 插件在持续部署环境中执行构建非常容易,正如我所做的那样。但是,我不能对 Browserstack 说同样的话。我工作的组织目前使用 Browserstack,虽然他们的服务确实支持使用二进制应用程序进行自动化测试,但我发现 Jenkins 很麻烦。如果是的话,我需要绝对确定 Browserstack 不是一个可行的解决方案。我喜欢 Saucelabs 和他们的组织提供的东西,但如果 Browserstack 工作,我不想在不需要的情况下切换。
Browserstack 文档指导您运行带有一些可用选项的命令,以便在执行前创建本地连接。
nohup ./[binary file] -localIdentifier [id] [auth key] localhost,3000,0 &
我已将上述语句添加为预构建步骤 shell 命令。我还必须添加“nohup”,因为一旦二进制文件创建了成功的连接,构建就不会真正开始,因为我没有退出,如下面的输出所示。
BrowserStackLocal v3.5
您现在可以在我们的远程浏览器中访问您的本地服务器。
按 Ctrl-C 退出
通常我可以毫无问题地成功执行第一次构建。使用相同命令的后续构建配置永远不会连接。显示上述消息,但在测试执行期间,Browserstack 报告未建立本地测试连接。这让我很困惑。
为了让您更好地了解正在执行的内容,我为各种项目套件和浏览器组合提供了 15 种构建配置。存在两个 Jenkins 执行程序,并且我在任何给定时间都有超过 5 个 Browserstack VM 可用。当相关的项目代码被推送到登台服务器时,其中五个构建将自动开始执行,填满两个执行器。其中之一将开始和结束罚款。其他人都不会,因为 Browserstack 报告本地测试不可用。
Saucelabs 显然已经通过他们的插件解决了这个问题,这很棒。如果 Browserstack 需要 shell 命令来创建本地测试连接,那么我一定是做错了什么,乱序等等。
环境:
- 爪哇 7
- 硒 2.45
- JUnit 4.11
- Maven 3.1.1
- 魅力 1.4.10
- 詹金斯 1.5
有人可以发布一些在连续测试环境中使用 Browserstack 的信息,同时利用多个并行测试执行,并告诉我每个构建是如何配置的吗?
谢谢,