【cypress】1. 什么是cypress,为什么要用它?

简介: 【cypress】1. 什么是cypress,为什么要用它?

cypress现在可谓是越来越火爆了,github上已经30.2K star了。作为一名曾使用selenium做web自动化的

测试人员,很想去一探究竟。


一、什么是cypress


Cypress称自己是下一代的web前端测试工具,并且解决了开发和测试人员在测试当下应用程序时的关键痛点。


很多时候,cypress会被拿来与Selenium作比较,但是从根本上来说,这两个是不一样的东西,所以,cypress

不用受到Selenium的那些限制。这样一来,cypress可以让我们能更快、更容易的编写更可靠的测试代码。


cypress可以用来编写所有类型的测试:端到端的测试、集成测试、单元测试。只要有一个浏览器来给它运行,它

就可以来测试web里任何东西。


作为一款开源框架,cypress的生态也是非常丰富的。支持在本地安装,还有一个内容丰富的仪表盘来记录测试运行细节。


另外,支持CI持续集成也是必不可少的。


二、cypress独有特点


独有特点,也就是cypress能做到的,而其他测试框架不能做的事情:


  • 测试运行过程:在运行测试的时候,cypress会获取快照,记录了测试执行过程的每一步细节。


1268169-20210428075055159-812229054.png


  • 可调试性:支持使用web浏览器上的开发工具直接调试,有丰富错误和堆栈跟踪信息。


1268169-20210428075945408-11258332.png


  • 自动等待:在页面某些元素还没出来的时候,通常我们会添加等待的代码。但是在cypress中,是自动等待的,直到
    元素出现,或者超过了你设置的超时时间。


  • Spies, Stubs, and Clocks: 这三样特性可以帮助我们更好的控制和确认功能的行为,比如服务的响应。


  • 截图和视频:支持失败自动截图,还可以在运行测试的时候生成运行过程的视频。


  • 跨浏览器测试:支持chrome、Firefox等多浏览器测试。


其他亮点


  • 环境安装:快速安装。没有服务器,驱动程序,或任何其他依赖需要安装或配置,短短60s内就可以搞定。


1268169-20210428224022426-481218689.gif


  • 编写测试:测试脚本可阅读性高,易于理解。


1268169-20210428224502063-839603792.gif


  • 运行测试:Cypress运行速度非常快,基本可以与浏览器内容实时同步,感受一下。


1268169-20210428224917918-14212278.gif


  • 调试:错误消息可读性好,与我们常用的开发工具相结合,可以帮助快速调试。


1268169-20210428225448525-1232206982.gif


以上虽然只是简单的介绍,但是已经让我体会到了cypress的强大之处。一个框架好不好用,在我看来就是简单,效率,稳定。


随着后面学习的逐步深入,一点点的来揭开cypress的面纱。

相关文章
|
存储 缓存 数据管理
HarmonyOS学习路之开发篇—数据管理(轻量级数据存储)
轻量级数据存储适用于对Key-Value结构的数据进行存取和持久化操作。应用获取某个轻量级存储对象后,该存储对象中的数据将会被缓存在内存中,以便应用获得更快的数据存取速度。应用也可以将缓存的数据再次写回文本文件中进行持久化存储,由于文件读写将产生不可避免的系统资源开销,建议应用减少对持久化文件的读写频率。
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
【已解决】TypeError: Cannot destructure property `createHash` of ‘undefined‘ or ‘null‘
【已解决】TypeError: Cannot destructure property `createHash` of ‘undefined‘ or ‘null‘
1465 1
|
存储 监控 前端开发
Sentry 监控部署与使用(详细流程)
Sentry 监控部署与使用(详细流程)
14655 1
|
11月前
|
Java Spring
Spring Boot的核心注解是哪个?他由哪几个注解组成的?
Spring Boot的核心注解是@SpringBootApplication , 他由几个注解组成 : ● @SpringBootConfiguration: 组合了- @Configuration注解,实现配置文件的功能; ● @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项 ● @ComponentScan:Spring组件扫描
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
20893 1
|
弹性计算 缓存 运维
Nginx 安装 SSL 配置 HTTPS 超详细完整教程全过程
说到 Nginx 服务器,最大特点就是轻量级和高性能。通过在几台不同的服务器上进行测试,发现它的并发能力特别强,并且相对而言吃的内存少很多。目前已是绝大多数站长的首选 HTTP 和反向代理服务器。
70701 2
|
运维 安全 Linux
全面提升系统安全:禁用不必要服务、更新安全补丁、配置防火墙规则的实战指南
全面提升系统安全:禁用不必要服务、更新安全补丁、配置防火墙规则的实战指南
683 12
|
消息中间件 关系型数据库 MySQL
SpringBoot-Kafka(生产者事务、手动提交offset、定时消费、消息转发、过滤消息内容、自定义分区器、提高吞吐量)
SpringBoot-Kafka(生产者事务、手动提交offset、定时消费、消息转发、过滤消息内容、自定义分区器、提高吞吐量)
SpringBoot-Kafka(生产者事务、手动提交offset、定时消费、消息转发、过滤消息内容、自定义分区器、提高吞吐量)
|
Java Maven
Maven国内镜像配置
Maven国内镜像配置
20715 1