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

更新于:2020年8月5日

1K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告