837 次浏览
我们可以在 Cypress 中实现标签。Cypress 有 .only 和 .skip 两个标签。.only 标签用于执行它所标记的 it 块,而 .skip 标签用于排除它所标记的 it 块。示例使用 .only 的实现describe('Tutorialspoint', function() //带有 .only 标签的 it 块 it.only('First Test', function() { cy.log("First Test") }) //带有 .only 标签的 it 块 It.only('Second Test', function() { cy.log("Second Test") }) it('Third Test', function() { cy.log("Third Test") }) })执行结果输出 ... 阅读更多
473 次浏览
我们可以在 Cypress 中实现钩子。Cypress 钩子用于在每个/所有测试之前/之后执行某些操作。一些常见的钩子包括:before – 在 describe 块中任何测试执行之前执行一次。after – 在 describe 块中所有测试执行之后执行一次。beforeEach – 在 describe 块中每个 it 块执行之前执行。afterEach – 在 describe 块中每个 it 块执行之后执行。示例实现describe('Tutorialspoint', function() { before(function() { // 在 it 块中所有测试之前执行一次 cy.log("Before hook") }) after(function() { ... 阅读更多
143 次浏览
下图解释了 Cypress 的工作原理:像 Selenium 这样的自动化工具在浏览器外部运行。但是,Cypress 具有不同的架构。它在浏览器内部运行。Cypress 基于 Node.js 服务器。Cypress 与 Node.js 不断交互,并且它们彼此协调工作。因此,Cypress 可用于测试应用程序的前端和后端。因此,Cypress 能够处理在 UI 上实时执行的任务,并同时在浏览器外部执行操作。Cypress 与 Selenium 之间的一些基本区别 ... 阅读更多
696 次浏览
我们可以在 Cypress 中创建 TeamCity 报告。要安装 TeamCity 报告的软件包,请运行以下命令: npm install cypress-teamcity-reporter --save-dev要为 Cypress 项目的 integration 文件夹中的所有规范生成报告,请运行以下命令: npx cypress run --reporter teamcity
3K+ 次浏览
我们可以在 Cypress 中创建 JUnit 报告。要安装 JUnit 报告的软件包,请运行以下命令: npm install cypress-junit-reporter --save-dev示例在 cypress.json 中的实现{ "reporter": "junit", "reporterOptions": { "mochaFile": "cypress/results/results.xml", "toConsole": true } }如果我们在一次运行中运行多个测试,并且希望为各个规范文件提供唯一的报告,则必须在 cypress.json 中的 mochaFile 参数中添加 [hash]。示例在 cypress.json 中的实现以避免覆盖报告{ "reporter": "junit", ... 阅读更多
1K+ 次浏览
Cypress 支持大多数使用 React、Angular 等构建的现代应用程序。通常将 Cypress 与 Selenium 等自动化工具进行比较。关于哪个工具 [Cypress 和 Selenium] 在自动化方面更好,有很多争论。但是,Cypress 和 Selenium 都有各自的优点和缺点,取决于用户的需求,我们应该选择合适的工具。现在让我们讨论一下 Selenium 和 Cypress 之间的一些区别,如下所示:Cypress 可以以框架或 npm 的形式使用。它被认为是 ... 阅读更多
356 次浏览
Cypress 仪表板是一个选项,它使我们能够查看已记录的测试,并详细了解执行期间发生的事件。它以可视化的方式显示测试执行、其报告和运行状态。当我们在 CI 环境中执行测试时,它是一个有用的工具。Cypress 仪表板的优势如下:它提供有关在执行期间通过、失败或跳过的测试用例数量的信息。它提供有关失败测试的堆栈跟踪的完整信息。它为失败的测试用例或当 ... 阅读更多
Cypress 在早期版本中无法处理框架。但在其最新版本中,他们为我们提供了自动化包含框架的场景的解决方案。框架是一个 html 结构,它位于另一个 html 结构内。如果我们想访问框架内的元素,首先 Cypress 必须将焦点从整个网页转移到框架,然后它与框架内的元素交互。我们必须安装一个插件才能在 Cypress 中使用框架。我们将从项目中运行命令 npm install –D cypress-iframe ... 阅读更多
2K+ 次浏览
有时,单击链接或按钮时,它会打开另一个窗口,通常称为子窗口。Cypress 处理子窗口的方式与 Selenium 和 Protractor 等其他自动化工具不同。它基本上不会保留有关子窗口的信息,而是将其焦点从父窗口转移到子窗口。现在让我们了解为什么链接或按钮会在不同的选项卡上打开一个新网页,这被认为是一个子窗口。这是因为该元素的 html 中设置了 target 属性。如果省略,它将在同一窗口中打开。Cypress 无法 ... 阅读更多
鼠标悬停操作在网页中很常见,当我们悬停在其上时,会显示元素列表。Cypress 不支持像 Selenium 这样的其他自动化工具那样的鼠标悬停操作,因为它认为它不稳定。Cypress 将操纵 DOM 元素来执行鼠标悬停操作。Cypress 利用 JQuery 中的 show() 方法。show() 方法显示隐藏的元素 [具有 CSS 属性 display:none] 并选中。此外,show() 方法仅对 DOM 中隐藏元素的直接父元素起作用。现在,要调用任何 JQuery 函数,Cypress 会 ... 阅读更多