【问题标题】:How to run e2e tests automatically?如何自动运行 e2e 测试?
【发布时间】:2019-11-06 04:10:38
【问题描述】:

我真的不知道如何向 Google 提出这个问题,所以请原谅我太天真了。

我们的团队正在ReactJS 开发 SPA 应用程序。我们还为NodeJS 做后端编程。我们的项目最近获得了更多的 e2e 测试。它们是使用webdriver.io 包编写的。一切都按预期工作,但大约是30 tests run about 50 minutes。暂停开发人员的工作并强迫他运行测试太长了。

我们的想法是,当我们有这么多测试时,我们需要在单独的计算机上运行它们(除了开发人员的笔记本电脑,我将其称为 e2e-laptop)。

所以我编写了一个 bash 脚本并在 e2e 笔记本电脑上安装了 Ubuntu。我的想法是,想要运行 e2e 测试的开发人员使用 ssh 在 e2e-laptop 上登录,运行带有参数的指定脚本(例如:--rev= 测试应该运行的特定 git 修订版,--email= 发送到哪里报告)并注销。测试完成后,他会在邮箱中收到Allure 报告。 这对我来说听起来不错,但不是很好。它有效——它就像一个肮脏的 MVP。但我真正想给我的团队的是基于 Web 浏览器的 UI,它提供了我的脚本所具有的功能。我可以想象这个软件是托管在 e2e-laptop 上的,每个开发者都可以在本地浏览器中打开它的网页地址。然后在授权后,有选项:运行所有规范,运行选择的规范,发送报告等等。如果该软件还可以允许同时运行由多个开发人员委托的测试,那将是最好的。

我需要什么软件?

【问题讨论】:

    标签: automation automated-tests testng e2e-testing


    【解决方案1】:

    您需要一个持续集成工具。 https://stackify.com/top-continuous-integration-tools/

    我推荐詹金斯。

    【讨论】:

    • 我们的 CI 工具是来自 Bitbucket 的 Pipelines,但它是我们部署到不同环境的核心,我们不想将它与长时间运行的 e2e 测试结合起来。您的答案还有一个问题,即 Pipelines 上没有运行 Web 浏览器的环境。另一方面,Jenkins 只是运行我编写的此类脚本的工具,所以这只是运行我的脚本的另一种方式
    • 感谢您提供该摘要的链接,有超过 50 个应用程序,其中一个可能是 :)
    【解决方案2】:

    我会首先尝试在笔记本电脑上的 docker 容器中无头运行您的 selenium 测试。一旦能够做到这一点,请在运行于 Bitbucket 管道中的 docker 容器中使用相同的配置。它实际上可能是相同的容器和相同的脚本。然后,开发人员可以创建一个分支并使用该分支上的测试。如果只需要运行某个测试子集,那么开发人员可以在他或她的本地分支上进行必要的更改以运行这些测试并将其推送到 Bitbucket。这应该有助于配置https://github.com/SeleniumHQ/docker-selenium

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      • 2021-04-29
      相关资源
      最近更新 更多