Cypress简介及在Windows下安装

news2025/6/9 4:13:06

cypress 简单介绍

Cypress 是基于 JavaScript 的前端测试工具,它是自集成的,提供了一套完整的端到端测试,无须借助其他外部工具,安装后即可快速地创建、编写、运行测试用例,可以对浏览器中运行的任何内容进行快速、简单、可靠的测试,且对每一步操作都支持回看,不同于其他职能测试 UI 层的前端测试工具,Cypress 允许编写所有类型的测试,覆盖了测试金字塔模型的所有测试类型【界面测试,集成测试,单元测试】

相对优势:

1)相对于 selenium,cypress 在元素定位,文件上传,运行速度,调试等方面有着独特的优势

2)cypress 自带生成定位元素代码,有更灵活的元素定位方式,解决了 selenium 定位到元素点击时提示元素不存在的问题;

3)cypress-file-upload 插件也使文件上传变的更加简单,解决了 selenium 上传文件繁琐且不稳定的问题等;

4)cypress 自带网络流量控制,可以 Mock 服务器返回的结果,无须依赖后端服务器,即可实现模拟网络请求,解决多系统依赖问题使自动话测试更稳定。

5)基于 cypress 代码是直接在浏览器中运行,使得调试更简单方便,改动代码后,cypress 控制台会直接运行测试用例,且每一步都有记录,更方便查找测试问题。

Cypress 的八大特性:

  • 时间穿梭【历史记录】

Cypress 在测试代码运行时会自动拍照记录,等测试运行结束后,用户可在 Cypress 提供的 Test Runner 里,通过悬停在命令上的方式查看运行时每一步都发生了什么

  • 实时重新加载

当测试代码修改保存后,Cypress 会自动加载改动地方,并重新运行测试

  • Spies(间谍)、Stubs(存根)、Clock(时钟)

Cypress 允许你验证并控制函数行为,Mock 服务器的响应,更改系统时间

  • 运行结果一致性

Cypress 架构不使用 Selenium 或 Webdriver,在运行速度、可靠性测试、测试结果一致性上均有良好保障

  • 可调试性

当测试失败时,可以直接从开发者工具(F12 Chrome DevTools)进行调试

  • 自动等待

使用 Cypress,永远无须在测试中添加 强制等待、隐性等待、显性等待

Cypress 会自动等待元素至可靠操作状态时才执行命令或断言

异步操作

  • 网络流量控制

Cypress 可以 Mock 服务器返回的结果,无须依赖后端服务器,即可实现模拟网络请求

  • 截图和视频

Cypress 在测试运行失败时会自动截图,在无头运行时(无 GUI 界面)会录制整个测试套件的视频

Cypress的安装

 Cypress 官网:https://www.cypress.io/

推荐使用npm安装的原因:

  • npm(Node Package Manager),是基于Node.js的包管理工具,npm 使 JavaScript 代码的分享和重用更加容易
  • 可以和其它任何依赖项一样控制 Cypress 的版本
  • npm 简化了在持续集成中运行 Cypress 的过程

1. 下载安装 node.js--

下载地址: https://nodejs.org/en/

然后配置环境变量

在cmd中输入命令node和npm,验证 Node.js 和 npm

备注:npm已经集成在新版的Node.js中了

2. 下载安装 cypress

指定一个空文件夹作为安装目录,在 cypress 安装目录下初始化执行 npm init,一路按下回车即可

 然后会在你的 Cypress 文件夹下生成  package.json  文件,这个文件也可以自己创建,通常存在于项目的根目录下,它定义了这个项目所需要的各种模块、配置信息(如:名称、版本、依赖、脚本等)

然后安装 cypress:

npm install cypress --save-dev

3. 运行 cypress :

安装好 Cypress 后,可以通过以下方式之一打开 Cypress

进入 Cypress安装目录\node_modules\.bin 目录,输入

cypress open

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot 针对rabbitmq多vhost情况处理

目录说明代码自定义rabbitmq的pom信息:重写one的连接工厂重写two的连接工厂:创建队列、交换机并绑定:消费者消费消息生产者发送消息说明 需求场景: 项目中在已接入rabbitmq一个vhost的基础上,需要再引入多个vhost进行…

线性杂双功能peg化试剂——HS-PEG-COOH,Thiol-PEG-Acid

英文名称:HS-PEG-COOH,Thiol-PEG-Acid 中文名称:巯基-聚乙二醇-羧基 HS-PEG-COOH是一种含有硫醇和羧酸的线性杂双功能聚乙二醇化试剂。它是一种有用的带有PEG间隔基的交联或生物结合试剂。巯基或SH、巯基或巯基选择性地与马来酰亚胺、OPSS、…

基于“python+”潮汐、风驱动循环、风暴潮等海洋水动力模拟实践技术

ADCIRC是新一代海洋水动力计算模型,它采用了非结构三角形网格广义波动连续方程的设计,在提高计算精确度的同时还减小了计算时间。被广泛应用于:模拟潮汐和风驱动的循环、预测风暴潮和洪水和近岸海上作业等。除此之外,ADCIRC也是我…

MySQL 存储引擎

MySQL内部展示图 分为三个层次 客户端 mysqlserver 存储引擎 我认为与之前先的UBD三层相类似 UI端传数据 B端逻辑处理 数据库端进行执行方面进行类似 存储引擎的分类 mySQL 5.5 版本采用InnoDB 为默认引擎(生成.frm和.ibd文件) 给大家介绍其他存储引…

I/O多路复用

基础概念 Socket 套接字。百科:对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。 例子1:客户端将数据通过网线发送到服务端,客户端发送数据需要一个出口,服务端接收数据需要一个入口,这两个“口子”就是…

【面试题】2023 Vue面试题 高频考题

大厂面试题分享 面试题库 后端面试题库 (面试必备) 推荐:★★★★★ 地址:

【微服务】Elasticsearch数据聚合自动补全数据同步(四)

🚗Es学习第四站~ 🚩Es学习起始站:【微服务】Elasticsearch概述&环境搭建(一) 🚩本文已收录至专栏:微服务探索之旅 👍希望您能有所收获 在第二站的学习中,我们已经导入了大量数据到es中&…

IBM AIX 升级Openssh 实现篇(编译安装)

升级成功佐证 !!!本文所有内容仅作参考,请在测试环境中具体测试完毕后才能应用于生产环境!!! [1]备份和恢复方案 开启telnet 服务,防止ssh 掉线后无法重连维护。在修复漏洞后关闭telnet。 备份该服务相关的所有文件,以便恢复。 root@TEST:/etc# vi inetd.conf #ftp…

原型图设计软件哪个好用?6款好用软件推荐

原型图软件列表 1、墨刀-极简超快的移动应用原型工具 2、ProcessOn-在线作图工具,你不用装 Visio 了 3、摩客-简洁高效的原型图设计工具 4、xiaopiu-国内优雅高效的在线 APP 原型工具 5、Axure-老牌原型工具,8.0 开始对响应式设计做了更好的支持&…

ONES 支持多项信创适配,打造自主可控的国产化平台

近日,ONES 顺利通过麒麟软件 NeoCertify、华为鲲鹏技术、达梦数据库的兼容性测试认证,至此,ONES 已完成国产操作系统、国产 CPU、国产数据库的多维度适配,成为目前唯一支持信创的研发管理平台,这标志着 ONES 在自主可控…

聚类分析--基本原理、方法(Kmeans,层次聚类)

文章目录聚类分析的定义基本原理商业应用场景聚类分析步骤聚类分析方法层次分析法/系统聚类法(小样本)提问:如何选择合适的分类结果K-means疑问:聚类分析的定义 聚类分析就是将研究对象根据一些特征指标,把比较相似的…

ubuntu qt程序无法输入中文 QLineEdit输入框无法切换输入法

目录一、问题描述二、解决思路三、步骤描述一、问题描述 测试软件在运行时无法通过键盘快捷键切换中文输入法,主要原因为qt应用程序没成功加载到输入法插件。 本文的以测试程序demo为例,进行过程展示,demo名字为“test-chinese-lineedit”。…

stream流处理初识

stream流处理初识 java8中的集合支持stream方法, 它会返回一个流(java.util.stream.Stream)IDEA集成的工具查看流式链过程: 流的操作 : 流的概念: java8中的集合支持stream方法,它会返回一个流(java.util.stream.Stream) 元素序列: 就像集…

【数据结构】优先级队列----堆

优先级队列----堆优先级队列堆堆的创建堆的插入:堆的删除:PriorityQueue的特性PriorityQueue的构造与方法优先级队列 优先级队列: 不同于先进先出的普通队列,在一些情况下,优先级高的元素要先出队列。而这种队列需要提…

开启Openharmony 开发之旅

之前因为太懒,所以很少写博客。最近做了一年的鸿蒙开发。想记录下,故开始写点东西,作为学习和开发笔记吧!先分享几个开源鸿蒙的学习网站。 1.开源鸿蒙官网 OpenAtom OpenHarmonyhttps://docs.openharmony.cn/pages/v3.1/zh-cn/a…

《MySQL系列-InnoDB引擎19》文件-日志文件-二进制日志

日志文件 日志文件记录了影响MySQL数据库的各种类型活动。MySQL数据库中常见的日志文件有: 错误日志(error log)二进制日志(bilog)慢查询日志(slow query log)查询日志(log) 这些日志文件可以帮助DBA对MySQL数据库的运行状态进行诊断,从而更好的进行数…

INTx中断机制源码分析

INTx中断机制源码分析 文章目录INTx中断机制源码分析参考资料:一、 配置空间二、 扫描设备时分配中断号三、 使用INTx中断四、 PCIe中断树五、 PCIe INTx中断映射过程5.1 PCIe控制器支持的中断5.2 PCIe控制器注册中断5.3 PCIe设备中断号的分配5.3.1 IRQ domain5.3.2…

Java源码程序设计-房屋出租管理系统设计与实现

摘 要系统设计系统实现开发环境摘 要 随着我国市场经济的快速发展和人们生活水平的不断提高,简单的房屋出租服务已经不能满足人们的需求。如何利用先进的管理手段,提高房屋出租的管理水平,是当今社会所面临的一个重要课题。 本文采用结构化…

Win10系统电脑开机后总是蓝屏无法使用怎么办?

Win10系统电脑开机后总是蓝屏无法使用怎么办?电脑开机的时候出现了蓝屏问题,这个情况是我们的电脑系统不兼容导致的。遇到这个问题一般是需要去进行系统的重装来解决,安装一个更兼容的系统就可以解决问题了。一起来看看详细的解决方法分享吧。…

前端学习第八站——CSS定位和装饰

目录 一、定位 1.1 网页常见布局方式 1.2 定位的常见应用场景 2.1 定位初体验 2.2 使用定位 3.1 静态定位 4.1 相对定位 5.1 绝对定位 6.1 子绝父相 7. 固定定位 8.1 定位的层级关系 8.2 更改定位元素的层级 9.总结 二、装饰 1.1 了解基线 1.2 文字对齐问…