cypress文档的文档

2023-10-30 18:30
文章标签 文档 cypress

本文主要是介绍cypress文档的文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介
安装
目录结构
介绍界面
介绍它能做什么
提几个关键词?(错误,断言等)

简介

优点

时间旅行:
测试时拍摄快照,方便查看任意时刻发生的情况
方便调试:
支持新型测试
快捷方式
UI直观展示状态
自动等待
支持多种浏览器

缺点

不支持同时测试多个浏览器或选项卡
不是通用的测试工具
对iframe支持有限
一次测试只能访问一个域

安装使用

安装node.js(官网下载msi安装)
安装cypress
npm init
生成package.json文件(项目不能和cypress同名不然后面会报错)
npm install cypress --save-dev
打开cypress
npx cypress open
测试用例放在项目/cypress/integration下

目录结构

在这里插入图片描述
node_modules:依赖组件
cypress/integration:测试示例
plugins:插件
support:支持文件,先于所有测试文件之前执行一次
cypress.json 默认配置文件

代码结构

在这里插入图片描述

界面

仪表盘

Run选项卡可以查看每次测试的运行情况。仪表盘大部分功能都为付费功能
在这里插入图片描述

用例界面

成功的测试用例
在这里插入图片描述
控制台输出
在这里插入图片描述
内容:
命令(已发出)
Yielded(此命令返回的内容)
元素(找到的元素数)
选择器(我们使用的参数)

测试失败的用例
在这里插入图片描述
1错误名称:这是错误的类型(例如 AssertionError、CypressError)
2错误消息:这通常会告诉您出了什么问题。它的长度可以变化。有些像示例中一样短,而有些则很长,并且可能会告诉您确切地如何修复错误。
3了解更多:一些错误消息包含“了解更多”链接,可将您带到相关的赛普拉斯文档。
4代码框架文件:这通常是堆栈跟踪的第一行,它显示在下面的代码框架中突出显示的文件、行号和列号。单击此链接将在您首选的文件打开器中打开文件,并在支持它的编辑器中突出显示行和列。
5代码框架:这显示了发生故障的代码片段,并突出显示了相关的行和列。
6查看堆栈跟踪:单击此按钮可切换堆栈跟踪的可见性。堆栈跟踪的长度各不相同。单击蓝色文件路径将在您首选的文件打开器中打开该文件。
7打印到控制台按钮:单击此按钮可将完整错误打印到您的 DevTools 控制台。这通常允许您单击堆栈跟踪中的行并在开发者工具中打开文件。

关键技术

查询

cypress捆绑了jquery
jquery查询
$(’.my-selector’)

cypress查询
cy.get(’.my-selector’)

区别:当无法从选择器中找到匹配元素时,jquery返回空集合,cypress会再次尝试直到找到或超时(默认4秒,可以在配置中修改)

cypress提示唯一选择器
在这里插入图片描述

命令

支持链式命令,cypress会排队等待执行
不能同时(并行)竞赛或运行多个命令。
不能“意外”忘记返回或链接命令:可以将 Cypress 视为“排队”每个命令。最终,它们将在 100% 的情况下按照使用的确切顺序运行,不需要任何return cypress命令。
不能.catch向失败的命令添加错误处理程序:在cypress中,没有从失败命令中恢复的内置错误。一个命令及其断言最终都会通过,或者如果一个命令失败,所有剩余的命令都不会运行,并且测试失败

断言

默认断言
许多命令都有一个默认的、内置的断言,或者更确切地说,有一些要求可能会导致它失败而无需您添加的显式断言。
某些命令可能具有特定要求,导致它们立即失败而无需重试:例如cy.request()。其他的,比如基于 DOM 的命令会自动重试并等待它们对应的元素存在,然后才会失败。甚至更多 - 操作命令将在失败之前自动等待其元素达到可操作状态。

写法
隐式主语:使用.should()或.and()。
显式主题:使用expect

超时

所有断言共享相同的超时值,修改的超时会影响当前和之后所有断言

测试

应当编写100%确定的测试
不要用自己的UI建立状态,用cookie来建立

这篇关于cypress文档的文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/309803

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Python脚本:TXT文档行数统计

count = 0 #计数变量file_dirs = input('请输入您要统计的文件根路径:')filename = open(file_dirs,'r') #以只读方式打开文件file_contents = filename.read() #读取文档内容到file_contentsfor file_content in file_contents:

bcolz文档

原文:http://bcolz.blosc.org/en/latest/reference.html First level variables bcolz.__version__'''bcolz包的版本。''' bcolz.dask_here'''是否检测到dask的最低版本。''' bcolz.min_dask_version'''需要dask的最低版本(dask是可选

WordPress开发中常用的工具或api文档

http://php.net/ http://httpd.apache.org/ https://wordpress.org/ https://cn.wordpress.org/ https://core.svn.wordpress.org/ zh-cn:开发者文档: https://codex.wordpress.org/zh-cn:%E5%BC%80%E5%8F%91%E8%80%

Python知识点:使用Python进行PDF文档处理

使用 Python 进行 PDF 文档处理可以通过多种库来实现,包括 PyPDF2、pdfplumber、reportlab、pdfminer 等。这些库可以处理不同的 PDF 任务,例如 提取文本、拆分合并 PDF、修改 PDF、生成 PDF 等。以下是几种常见操作及对应的库和代码示例。 1. 安装常用库 首先,安装常用的 PDF 处理库: pip install PyPDF2 pdfpl

【2025】基于Python的空气质量综合分析系统的设计与实现(源码+文档+调试+答疑)

博主介绍:     ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。 技术范围:     我熟悉的技术领域涵盖SpringBoot、Vue、SSM、HLMT

自动化表格处理的革命:智能文档系统技术解析

在当今数据驱动的商业环境中,表格数据的自动化处理成为了企业提高效率、降低成本的关键。企业智能文档系统在智能表格识别方面展现出卓越的性能,通过精准识别和处理各种通用表格,显著提升了企业文档管理的智能化水平。本文将深入探讨该系统在表格识别方面的关键技术和应用优势,以及如何通过行业定制化服务满足不同行业的需求。 1. 通用表格识别 智能文档系统通过先进的OCR技术和表格结构识别算法,能够精准

MongoDB学习—(4)文档的插入,删除与更新

一,文档的插入 插入命令有两个一个为insert,另一个为save,两者的区别为 db.[documentName].insert({..})插入的数据不允许重复,即_id不可相同 db.[docuemntName].save({..})插入的数据允许重复,如果整条数据内容相同,则不发生替换,如果数据有做不同,则将原数据替换 二,删除文档数据 db.[docuementName].r

获取Excel文档的版本(2003或者2007)

因工作需要解析excel文档,用poi插件来进行处理,但是2003版本之前的和2007版本之后的解析方式不一样,开始,我们是以后缀名来区分的(2003之前是xls,2007之后是xlsx),后来发现,如果一个2003文档的后缀名被改成xlsx或反之,解析都会出现一些莫名其妙的问题,所以根据文档内容来判断版本是非常必要的。于是在网上找了很久终于找到一个切实可行的方法,代码如下 public s