我可以使用啥工具通过 cypress 自动化截屏?

Posted

技术标签:

【中文标题】我可以使用啥工具通过 cypress 自动化截屏?【英文标题】:What tool can I use to take a screenshot with cypress automation?我可以使用什么工具通过 cypress 自动化截屏? 【发布时间】:2021-12-19 16:47:56 【问题描述】:

我有一个 cypress spec.js,我想在多次对整个页面进行特定断言后截取几张截图。我希望屏幕截图在文件夹或报告中可用。 我有 mochawesome 和 Junit 记者。我可以使用的最佳屏幕截图工具是什么?

【问题讨论】:

【参考方案1】:

您可以使用cy.screenshot() 命令在 cypress 中截取屏幕截图。您可以从here 了解更多信息。

断言之后你可以这样做:

cy.get('selector').should('have.text', 'some text').screenshot()

您也可以直接使用该命令,而无需像这样链接到任何先前的命令:

cy.screenshot()

您也可以像这样添加屏幕截图名称:

cy.get('selector')
  .should('have.text', 'some text')
  .screenshot('name') //will save screenshot with name.png

您也可以按照您想要的目录保存屏幕截图,如下所示:

cy.get('selector')
  .should('have.text', 'some text')
  .screenshot('path to folder/name')

现在您可以通过 capture 选项让 cypress 知道要捕获 Test Runner 的哪些部分。对于元素屏幕截图,此值将被忽略。

cy.get('selector')
  .should('have.text', 'some text')
  .screenshot('name', capture: 'fullPage')
viewport - 在当前视口中捕获正在测试的应用程序。 fullPage - 被测应用程序从上到下完整捕获。 runner - 整个浏览器视口,包括赛普拉斯命令日志,都被捕获。

【讨论】:

以上是关于我可以使用啥工具通过 cypress 自动化截屏?的主要内容,如果未能解决你的问题,请参考以下文章

前端自动化测试工具 Cypress 试用调研记录

Cypress和Selenium

Cypress录制自动化脚本

Cypress录制自动化脚本

使用 Keycloak 的 Cypress UI 自动登录失败

求款能截屏并且能自动保存的截图工具!!!