如何自动运行e2e测试?

时间:2019-06-24 10:56:39

标签: automation automated-tests testng e2e-testing

我真的不知道该如何向Google问这个问题,所以我对它太天真了。

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

我们想到了现在,当我们进行如此多的测试时,我们需要在单独的计算机上运行它们(除了开发人员的笔记本电脑以外,我将其称为e2e-laptop)。

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

我需要什么软件?

2 个答案:

答案 0 :(得分:1)

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

我推荐詹金斯。

答案 1 :(得分:1)

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