测试基于 React 构建的网站的最佳自动化测试解决方案?

Best automation testing solution to test a website build on React?

我需要其他自动化测试人员对测试使用 React 构建的网站的最佳方式的意见。

我个人使用 Selenium Webdriver 和 Java 构建了自动化测试套件,您对使用其他技术(如 Node、JS 和 WebdriverIO)有何看法?

使用 WebDriverio、JS 等技术构建自动化测试套件/测试是否比使用 Selenium Webdriver 和 Java 作为代码更优越的解决方案,因为使用相同的代码 (JS) 来构建网站和自动化测试框架。

好吧,我会根据我在测试自动化框架方面的经验尝试给出最佳答案 (WEB & API 相似)跨越所有类型的应用程序(来自流行的 ReactAngular(1,2 & 5) & VueJS, 到 Spring, 或垃圾 Vaadin 网络应用程序).

Before I give my on the matter, I just want to point out that a (good) web testing framework will always be agnostic of the underlying stack used. Thus, a React web app shouldn't critically dictate the selection of a functional testing tool.

如果让我做这样的决定,我会看以下内容:

❶ 团队内部通用的编程语言(口语)是什么?

❷ 各自编程语言的最佳测试框架是什么?

❸ 最后,该框架获得了何种程度的支持?


❶ 现在,为什么这很重要?好吧,既然你要的是 React 网络应用程序,那么我假设整个开发团队都知道 React,因此他们很精明JavaScript 工程师。因此,为了尽量减少可能陡峭的学习曲线( 框架的缓慢学习提升 selected)的影响,我可能会选择 JavaScript/NodeJS解.

作为一般经验法则,通常的做法是使用编写应用程序所用的相同语言来编写测试。但是,这并不意味着这最终 是 select 语言 的最佳方式。


太棒了... 所以你已经 select 编辑了编程语言,现在的问题是,哪个可用的测试框架会给你带来最大的价值?我建议你构建一个一个小型的POC,其中包含所有主要的测试框架特定语言。

例如: 对于 JavaScript,它们将是:

在您真正尝试并充分了解它的优点和缺点[=之前,您不能说您对特定框架有感觉105=] 一样。

如果你有一个强大的质量检查团队,那么设置一个竞赛每个团队成员有 2 周的时间来使用他们选择的框架创建一个工作 POC。然后,判断解决方案并民主地选择最佳框架。 没有比这更彻底的了!

❒ 观察: 如果您对前两个感兴趣,您应该查看 我写的关于这些测试框架的分解。


你不想成为进入燃烧建筑物的人! 如果那个框架你 select ed 没有很好的支持( 没有维护并且文档很糟糕 ),发布周期很慢,没有修复主要错误,或提供定期功能改进或新功能......然后,放弃并选择另一个!

❒ Note: There's no pride in being the last fan of a dying software solution...


也就是说,我目前正在为 React web 应用程序 维护几个自动化工具,使用 ( 取得了巨大的成功) WebdriverIONightwatch限制,或边缘情况 从来都不是 React 特定的 ,测试也没有受到任何 React 组件React 路由逻辑 的影响。