运行 E2E-并行测试

Running E2E-Tests in parallel

我们正在尝试 运行 在 Browserstack 上针对 AWS-Vaadin-App 在多个 Jenkins 从站上并行进行 Selenium 测试。

Companies-Jenkins -> Browserstack -> AWS-Vaadin-App

我们的测试框架使用具有有效许可证密钥的 Vaadin Testbench。

所有测试都按预期开始,登录(在应用程序中)和业务工作流程。但是一段时间后所有测试都关闭了连接,Vaadin 框架显示“服务器连接丢失”。

T0 -> T1
   -> T2
   -> Tn

如果我们 运行 在序列中的一个 Jenkins 从服务器上使用相同的方法,它 运行 没问题(在这里我们有时也可以看到“服务器连接丢失”,但 selenium 测试试图等待并在警告消失时继续,通常是有效的。同时它永远不会有效)。

T0 -> T1 -> T2 -> Tn

你知道为什么会这样吗?会不会是我们的 Vaadin 许可证有问题?

听起来像是服务器的问题,而不是测试的问题。您的服务器 运行 是否因为并行操作过多而内存不足?检查服务器日志,这是您应该找到原因的地方。如果在测试 运行

时在浏览器中手动打开会话,您很可能会看到相同的“服务器连接丢失”

我们得到了浏览器堆栈支持的帮助:

eg. Initiate a Binary connection as:

./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY --local-identifier test123 This initiates a unique Binary connection with a unique modifier "test123". This can then be used when executing the tests by setting the below capabilities:

caps.setCapability("browserstack.local","true"); caps.setCapability("browserstack.localIdentifier", "test123");

The same details are also mentioned in the link: https://www.browserstack.com/local-testing/app-automate#multiple-local-testing-connections