Selenium v​​s Cypress 用于命中数据库、elasticsearch、文件系统等的测试

Selenium vs Cypress for tests that hit databases, elasticsearch, filesystem, etc

我正准备开始一个新的自动化项目,并且已经阅读了一些关于 Cypress 作为 Selenium 替代品的文章。鉴于 Cypress 显然直接在浏览器中运行,而不是 Selenium 的方法,是否很难使用位于浏览器之外的 Cypress 测试执行测试步骤,例如与数据存储通信、与服务交互以及与远程文件等产品基础设施交互系统?由于我对 Cypress 的了解有限,我只看过浏览器测试,所以我希望有人能对此有所了解。

如果您需要访问浏览器之外的东西,我会选择 selenium。这就是我目前所做的,我有一个加载了“插件”的 webdriver 包装器,这样我就可以制作 db 语句,查询网络服务器并另外向浏览器发出 selenium 命令。

如果您只想在浏览器中进行 100% 的测试,那么 cypress 可能是您的不二之选。

或者,您可以将 selenium 用于工作流测试,将 cypress 甚至 qunitjs 用于 intra-browser 单元测试。

在我开发的应用程序中,我实际上发送了一个页面,其中包含一个包含所有 in-browser 测试的 qunit 页面。然后在 selenium 测试中,除了工作流的其余部分,我浏览到 qunit 页面并报告它们的状态。