cypress 如何截图?

简介: cypress 如何截图?

大家好,我是阿萨。上一期的cypress 我们学习了如何写常见用例。cypress原生支持截图和录制视频。今天我们就学习下cypress如何截图。

screenshot
就是给某个对象截图。


.screenshot().screenshot(fileName).screenshot(options).screenshot(fileName, options)
// ---or---
cy.screenshot()cy.screenshot(fileName)cy.screenshot(options)cy.screenshot(fileName, options)

常见用法:


cy.screenshot()cy.get('.post').screenshot()


截图默认保存在cypress/screenshots文件夹中。可以在Cypress配置中更改截图保存的目录。


// cypress/e2e/users.cy.js
describe('Sarah’s screenshot tests', () => {  it('takes a screenshot', () => {    // 截图保存在    // cypress/screenshots/users.cy.js/my tests -- takes a screenshot.png    cy.screenshot()  })})


文件名截取一个截图并保存为一个特定的文件名。


//  截图保存在// cypress/screenshots/spec.cy.js/clicking-on-nav.pngcy.screenshot('clicking-on-nav')

截图并保存到特定目录


// 截图保存在// cypress/screenshots/spec.cy.js/actions/login/clicking-login.pngcy.screenshot('actions/login/clicking-login')

裁剪裁剪截图到一个特定的位置和大小


//截图将从顶部和左侧裁剪20px//设置尺寸为400px x 300pxcy.screenshot({ clip: { x: 20, y: 20, width: 400, height: 300 } })

截图一个元素截取第一个.post元素的截图


cy.get('.post').first().screenshot()



截取第一个。post元素的截图,周围填充10px


cy.get('.post').first().screenshot({ padding: 10 })



链接截图,单击捕获的元素


cy.get('button').first().screenshot().click()


从onafter截图回调中获取截图信息


cy.screenshot('my-screenshot', {  onAfterScreenshot($el, props) {// props has information about the screenshot,// including but not limited to the following:// {//   name: 'my-screenshot',//   path: '/Users/janelane/project/screenshots/spec.cy.js/my-screenshot.png',//   size: '15 kb',//   dimensions: {//     width: 1000,//     height: 660,//   },//   scaled: true,//   blackout: [],//   duration: 2300,// }  },})


相关文章
|
测试技术
如何用命令行执行cypress?
如何用命令行执行cypress?
196 0
|
8月前
|
数据采集 存储 数据可视化
Pandas高级数据处理:数据报告生成
Pandas 是数据分析领域不可或缺的工具,支持多种文件格式的数据读取与写入、数据清洗、筛选与过滤。本文从基础到高级,介绍如何使用 Pandas 进行数据处理,并解决常见问题和报错,如数据类型不一致、时间格式解析错误、内存不足等。最后,通过数据汇总、可视化和报告导出,生成专业的数据报告,帮助你在实际工作中更加高效地处理数据。
195 8
|
存储 安全 大数据
OceanBase 的安全性与合规性
【8月更文第31天】随着大数据时代的到来,数据已经成为企业的核心资产。为了保护这些宝贵的资源,不仅需要强大的技术手段来保证数据的安全,还需要满足各种法律法规的要求。OceanBase 作为一款高性能的分布式关系数据库系统,在设计之初就充分考虑了数据的安全性和合规性需求。本文将深入探讨 OceanBase 如何确保数据的安全,并介绍其符合各种法规要求的方法。
545 1
|
测试技术
Cypress的钩子函数
Cypress的钩子函数
109 1
Cypress的钩子函数
|
8月前
|
SQL 存储 关系型数据库
MySQL主从复制 —— 作用、原理、数据一致性,异步复制、半同步复制、组复制
MySQL主从复制 作用、原理—主库线程、I/O线程、SQL线程;主从同步要求,主从延迟原因及解决方案;数据一致性,异步复制、半同步复制、组复制
712 11
|
数据采集 搜索推荐 安全
智慧城市的交通管理大数据模型
智慧城市交通管理系统借助大数据模型,通过全面收集交通数据(如监控、GPS、公共交通信息等),进行数据清洗和预处理,利用Python的Pandas进行数据管理。通过ARIMA等模型分析,预测交通流量、识别交通模式,支持智能信号控制、预测性维护和事件响应。这种集成分析与决策支持系统提升城市交通效率,确保出行安全,预示着未来交通管理的智能化和个性化趋势。【6月更文挑战第23天】
1317 10
|
SQL 数据库 Perl
PL/SQL中执行按钮变为灰色后如何恢复【已解决】
PL/SQL中执行按钮变为灰色后如何恢复【已解决】
952 0
|
Ubuntu Linux 开发工具
【ZYNQ】那些年我们拿下了 Zynq
【ZYNQ】那些年我们拿下了 Zynq
238 0
|
存储 数据采集 Web App开发
【前端】localStorage与sessionStorage的使用和区别
localStorage与sessionStorage的使用和区别
367 0
【前端】localStorage与sessionStorage的使用和区别
Mac解决Updating Homebrew卡顿
Mac解决Updating Homebrew卡顿
532 0