【问题标题】:Running E2E-Tests in parallel并行运行 E2E 测试
【发布时间】:2021-09-06 06:12:04
【问题描述】:

我们正在尝试在 Browserstack 上针对 AWS-Vaadin-App 在多个 Jenkins 从属设备上并行运行 Selenium-Tests。

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

我们的测试框架使用带有有效许可证密钥的 Vaadin 测试平台。

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

T0 -> T1
   -> T2
   -> Tn

如果我们在一个序列中只在一个 Jenkins slave 上运行相同的,它运行正常(在这里我们有时可以看到“服务器连接丢失”但是当警告消失时 selenium 测试会尝试等待并继续,通常是有效的. 并行它永远不会起作用)。

T0 -> T1 -> T2 -> Tn

您有什么想法,为什么会发生这种情况?会不会是我们的 Vaadin 许可证有问题?

【问题讨论】:

    标签: selenium vaadin browserstack vaadin-testbench


    【解决方案1】:

    这听起来像是服务器的问题,而不是测试。您的服务器是否因并行执行过多而耗尽内存?检查服务器日志,这就是您应该找到原因的地方。如果您在测试运行时在浏览器中手动打开会话,您很可能会看到相同的“服务器连接丢失”

    【讨论】:

    • 我们检查了一下,原来我们需要在browserstack远程驱动中添加一个标识符。
    【解决方案2】:

    我们从浏览器堆栈支持中获得了帮助:

    例如。启动二进制连接:

    ./BrowserStackLocal --key $BROWSERSTACK_ACCESS_KEY --local-identifier test123 这将使用唯一的修饰符“test123”启动唯一的二进制连接。然后可以通过设置以下功能在执行测试时使用它:

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

    链接中也提到了相同的细节:https://www.browserstack.com/local-testing/app-automate#multiple-local-testing-connections

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      • 2019-11-06
      • 2017-04-22
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      相关资源
      最近更新 更多