如果想从头学起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. 解决:While reading from '/Users/***/.pip/pip.conf' [line 4]: option 'extra-index-url' in section 'global' already exists

    解决:While reading from '/Users/***/.pip/pip.conf' [line 4]: option 'extra-index-url' in section 'glob ...

  2. 如何简洁优雅地部署PostgreSQL和Pgweb?

    本文转自Rancher Labs 介绍PostgreSQL和Pgweb PostgreSQL是一款以可靠性和性能为人所熟知的开源数据库.它在很多行业和应用程序中都有应用,尤其是web开发人员的最爱.从 ...

  3. 科普,想成为厉害的 Java 后端程序员,你需要懂这 13 个知识点

    老读者就请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题. 站 ...

  4. Unity游戏Mono内存管理及泄漏

    UWA工具 https://yq.aliyun.com/articles/435553 Unity游戏Mono内存管理及泄漏 https://wetest.qq.com/lab/view/135.ht ...

  5. 牛客多校训练AFJ(签到)

    题目链接https://ac.nowcoder.com/acm/contest/881/A(单调栈) #include<cstdio> #include<iostream> # ...

  6. KUDU 学习笔记

    Kudu 现存系统针对结构化数据存储与查询的一些痛点问题,结构化数据的存储,通常包含如下两种方式: 静态数据通常以Parquet/Carbon/Avro形式直接存放在HDFS中,吞吐能力大,适合离线分 ...

  7. LayUi超级好用的前端工具

    日期:https://www.layui.com/laydate/ LayUi 首页地址:https://www.layui.com/

  8. input历史快捷-变黄解决

    一: <form action="loginAction" method="post" autocomplete="off">给 ...

  9. python中实现参数化的原理

    k就是   <参数名>

  10. JDK的安装与环境变量的配置

    一.JDK的安装 1. JDK的下载地址     https://www.oracle.com/java/technologies/javase-downloads.html. 2.  当前最流行的是 ...