Cypress 测试自动化
Cypress 支持大多数基于 React、Angular 等构建的现代应用程序。Cypress 通常与 Selenium 等自动化工具进行比较。关于哪个工具[Cypress 和 Selenium]在自动化方面更好,有很多争论。
但是,Cypress 和 Selenium 都有其优点和缺点,选择哪个工具取决于用户的需求。现在让我们讨论一下 Selenium 和 Cypress 之间的一些区别,如下所示:
Cypress 可以以框架或 npm 的形式使用。它被认为是一个工具。而 Selenium 则以需要下载的 JAR 或 API 的形式使用。
Cypress 只运行在 Javascript 上。Selenium 运行在各种语言上,如 Python、Java、Javascript、Ruby 等。因此,Selenium 的使用范围更广,并且拥有非常好的社区支持。
Cypress 只支持 Firefox、Chrome、Electron 和无头浏览器。对 Firefox 的支持仍在开发中。Selenium 支持所有主要的浏览器,如 Firefox、Chrome、IE 和 Safari 等。
Cypress 选择器包括 JQuery、css 和一些用于执行的插件。因此,处理动态 Web 表格可能很棘手。Selenium 选择器包括类名、ID、链接文本、部分链接文本、xpath、标签名和 css。
Cypress 直接在浏览器中运行执行,速度稍快。Selenium 的执行速度较慢。
Cypress 没有同步问题,默认情况下,所有元素都有一个内部配置或有时自定义的默认超时时间。Selenium 有很多同步问题,这些问题可以通过隐式、显式和流畅等待来解决。
Cypress 具有内部捕获屏幕截图和视频的功能,无需任何外部资源、库或第三方工具的帮助。Selenium 默认具有捕获屏幕截图的功能,但对于视频则没有支持,它依赖于外部资源。
Cypress 不支持直接切换到不同的选项卡或子窗口。它提供了使用 JQuery 方法来支持它们的变通方法。Selenium 具有多个 API,可以切换到不同的选项卡、子窗口和警报。
Cypress 不支持任何移动应用程序和浏览器。Selenium 支持移动应用程序和浏览器。
Cypress 作为自动化领域的新工具,正越来越受到测试和开发社区的欢迎。
下图显示了近六个月内通过 npm trends 显示的 Cypress 下载量:
来源 - https://www.npmtrends.com/cypress