如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

背景

  • 在测试运行时截图和录屏能够在测试错误时快速定位到问题所在
  • Cypress 截图和录屏功能强大

无须配置,自动截图

以 cypress run 方式运行测试时,当测试发生错误时,Cypress 会自动截图,并默认保存在 cypress/screenshots 文件夹下,而录屏会保存在 cypress/video 文件夹下

命令行运行结果

console 会看到错误截图和录屏的生成路径

生成截图和录屏的目录

自定义截图,.screenshot() 方法

作用

截取被测应用程序的屏幕快照,以及 Cypress 命令日志的屏幕快照

语法格式

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

fileName

  • 待保存图片的名称
  • 图片默认保存在 cypress/screenshots 文件夹下,可以在 cypress.json 修改默认文件夹路径(配置项 screenshotsFolder )

options 详解

通过 onBeforeScreenshot、onAfterScreenshot,可以在截图发生前或发生后应用自定义的行为

正确用法

// 直接截图整个页面
cy.screenshot() // 只截图某个特定元素
cy.get('.post').screenshot()

命令返回结果

返回上一条命令相同的结果

.screenshot() 栗子

测试代码

it('简单的栗子', function () {
// 截图整个页面
cy.screenshot()
});

测试结果

为什么截图这么长呢?

因为 capture 默认值就是 fullpage,代表整个页面

.screenshot(filename) 栗子

测试代码

it('文件名', function () {
cy.screenshot('文件名')
});

测试结果

.screenshot(options) 栗子

capture:viewport 的栗子

测试代码

cy.screenshot({
capture: 'viewport'
})

测试结果

capture:runner 的栗子

测试代码

cy.screenshot({
capture: 'runner'
})

测试结果

.screenshot() 命令日志

可以看到各配置项(options)的默认值

Cypress系列(60)- 运行时的截图和录屏的更多相关文章

  1. 虚拟机系列 | JVM运行时数据区

    本文源码:GitHub·点这里 || GitEE·点这里 一.内存与线程 1.内存结构 内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱 ...

  2. 《深入浅出MFC》系列之运行时类型识别(RTTI)

    /********************************************************************************** 发布日期:2017-11-13  ...

  3. linux下常用的截图、录屏工具

    录屏: 在linux下常用的录屏工具有5种,可以baidu或者google下喔,我选用的是recordMydesktop,使用非常方便,用时注意先把每秒桢数调高,否则效果必然很差. 在ubuntu下可 ...

  4. Cypress系列(44)- 命令行运行 Cypress

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 前言 前面也介绍过 Cypress 命令 ...

  5. RHCE 系列(二):如何进行包过滤、网络地址转换和设置内核运行时参数

    正如第一部分(“设置静态网络路由”)提到的,在这篇文章(RHCE 系列第二部分),我们首先介绍红帽企业版 Linux 7(RHEL)中包过滤和网络地址转换(NAT)的原理,然后再介绍在某些条件发生变化 ...

  6. 大白话Vue源码系列(05):运行时鸟瞰图

    阅读目录 Vue 实例的生命周期 实例创建 响应的数据绑定 挂载到 DOM 节点 结论 研究 runtime 一边 Vue 一边源码 初看 Vue 是 Vue 源码是源码 再看 Vue 不是 Vue ...

  7. Activity系列讲解---Activity运行时的屏幕方向,全屏,窗体模式的设置

    Android内置了方向感应器的支持.Android会根据所处的方向自动在竖屏与横屏间切换.但是有的应用程序只能在横/竖屏时运行,比如某些游戏,此时我们要锁定该Activity运行时的屏幕方向,< ...

  8. NHibernate系列文章四:NHibernate运行时监控

    摘要 有三种方式可以实现NHibernate运行时监控,监控的信息包括:执行了的SQL语句.NHibernate执行过程.数据库性能分析.这对我们学习NHibernate有很大的帮助,在工作中也能快速 ...

  9. katalon系列十六:代码运行时实时创建元素对象或列表

    Katalon的常规方法是先抓取元素并保存到仓库,在脚本中需要用到的时候调取,但假如元素属性和个数是可变的,就不能事先保存到仓库了,需要在脚本运行时实时创建. 代码运行时实时创建一个元素对象的例子im ...

随机推荐

  1. python 递归删除空文件夹

    Python如何递归删除空文件夹 1.Python如何递归删除空文件夹,这个问题很常见.但大多数人的解决办法都是自己实现递归函数解决这个问题,其实根本不用那么麻烦.Python中的os.walk提供了 ...

  2. 2020,最新Model的设计-APP重构之路

    很多的app使用MVC设计模式来将“用户交互”与“数据和逻辑”分开,而model其中一个重要作用就是持久化.下文中设计的Model可能不是一个完美的,扩展性强的model范例,但在我需要重构的app中 ...

  3. UnitTest框架的快速构建与运行

    我们先来简单介绍一下unittest框架,先上代码: 1.建立结构的文件夹: 注意,上面的文件夹都是package,也就是说你在new新建文件夹的时候不要选directory,而是要选package: ...

  4. Python淘宝商品比价定向爬虫

    1.项目基本信息 目标: 获取淘宝搜索页面的信息,提取其中的商品名称和价格理解: 淘宝的搜索接口.翻页的处理 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道 ...

  5. Unity 移动平台自己编写Shader丢失问题

    问题一:使用AB加载资源,资源中包含有第三方shader,加载出的资源出现shader丢失的显示问题 这是因为Unity在打包的时候,会进行资源精简,默认情况下,是不会将第三方shader打包进入包体 ...

  6. springboot @valid与@validated的参数校验使用总结

    好久没在这平台写博客了,最近整理了这东西,先给出总结 // @Valid只能用在controller,@Validated可以用在其他被spring管理的类上 // @Valid可以加在成员变量上(本 ...

  7. 搭建好lnmp后,使用浏览器访问,出现404 Not Found

    出现404 Not Found的原因是nginx指向页面不存在,编辑nginx配置文件,修改nginx指向页面路径 root html; 修改为 root /usr/share/nginx/html; ...

  8. IIS上传文件最大限制问题

    IIS服务器文件最大限制默认是30M. 自定义方法:修改配置文件,路径是:C:\Windows\System32\inetsrv\Config\applicationHost.config 在requ ...

  9. java之5分钟插入千万条数据

    虽说不一定5分钟就插入完毕,因为取决去所插入的字段,如果字段过多会稍微慢点,但不至于太慢.10分钟内基本能看到结果. 之前我尝试用多线程来实现数据插入(百万条数据),半个多小时才二十多万条数据. 线程 ...

  10. Java格式化字符串Format

    java的jdk1.5开始引用了对字符串的格式化处理,类似于C语言的printf("%d,%d",a,b);,对数据的处理非常方便,之所以有这样的方式输出,很多人说是为了抢夺C语言 ...