一、简介

Cypress是新一代ui测试框架,类似于selnium,它基于node js,支持webpack构建。

功能特点:

1.时间旅游:测试的每一步都有 snapshot,只需将鼠标悬停在命令日志中的命令上,就可以准确地查看每个步骤中发生了什么。

2.可调试:我们无需猜测测试用例为何失败,直接从熟悉的工具进行调试(例如:谷歌浏览器的开发者工具),可读错误和堆栈跟踪让调试更有效率。

3.自动等待:再也无需在测试用例代码中添加 wait 或 sleep 代码,Cypress 会自动等待命令和断言完成。

4.函数间谍:响应劫持、时钟回拨:验证和控制函数、服务器响应和时钟。常用的单元测试功能。

5.网络通信控制:无需涉及服务器即可控制、保存和测试边缘情况。你可以根据需要保留网络流量。

6.视图快照和视频:从命令行运行测试时,我们可以查看失败用例的视图快照和整个测试过程的视频。

二、开发工具

1.VSCode 由微软研发的一款免费、开源的跨平台文本(代码)编辑器。几乎完美的编辑器

下载地址https://code.visualstudio.com/Download

2.webstorm WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。习惯intelij idea开发java的同学可以选择它

下载地址https://www.jetbrains.com/webstorm/

三、Cypress的目录结构

fixtures:测试用例中需要用到的资源,包括测试数据、图片、json信息等,可以使用cy.fixture读取

integration:测试脚本存放目录,允许多级目录,其下的example目录是官方提供的测试脚本样例

cypress.json:Cypress的配置文件

package.json和package-lock.json  npm初始化项目自动生成的文件

测试脚本不按规范命名,结尾不写spec也能运行,但是最好还是按照规范.spec.js结尾。

四.测试用例运行

右上角选择你电脑上的浏览器,我这里选的是谷歌,可以单个点测试用例脚本文件,也可以点右上角Run all specs统一执行所有的用例。

五.Cypress元素定位

1.在脚本运行界面点击右边左上角定位的图标,这个时候你就可以选择你要定位的元素了,选择好要定位的元素,图3位置直接就会出现定位的代码了,你可以直接拷贝到你的项目里,方便至极。

六.优缺点分析

优点:

1.安装简单,API简单易上手

2.速度上比selenium要快,轻便

3.定位元素相当方便,不像selenium很多时候元素找不到,必须通过copy全的xpath或者定位到父节点然后遍历直到找到子节点

4.有重试机制,某些步骤运行失败时自动重试,这样可以提高运行的稳定性,不至于一旦网络卡顿导致失败抛异常立即退出

5.运行过程直观,可以会看某一步执行过程,运行失败时自动截图

6.内置的cy.request可以跳过ui层,直接调用接口

7.自带数据mock机制

8.支持webpack构建打包及相关配置

缺点及不足

1.不擅长浏览器兼容性测试

2.不擅长oauth2授权登录验证

3.目前只能测试web页面

Cypress(二)Cypress相关介绍相关推荐

  1. 阿里MNN推理框架相关介绍

    一.参考资料 MNN官网 中文文档-语雀 欢迎使用MNN文档 - MNN-Doc 2.1.1 documentation) 英文文档 MNN知识库 MNN 官方仓库 二.相关介绍 1. MNN简介 M ...

  2. 昇腾Ascend处理器相关介绍

    一.参考资料 modelzoo wiki 解密昇腾AI处理器–Ascend310简介 AI芯片:华为Ascend(昇腾)910结构分析 解密昇腾AI处理器–DaVinci架构(计算单元) 二.相关介绍 ...

  3. AI芯片-算力相关介绍

    一.参考资料 TOPS(处理器运算能力单位) 芯片的算力到底有什么用?算力是怎么评估的? NPU架构与算力分析 二.相关介绍 1. FLOPS FLOPS(floating-point operati ...

  4. 脑机接口系列课程(二) SSVEP介绍及相关软件的安装、实验范式的搭建

    脑机接口系列课程(二) SSVEP介绍及相关软件的安装.实验范式的搭建 导言:这是脑机接口系列课程的第二篇,也是SSVEP部分的第一节,介绍SSVEP相关知识和实验范式的搭建等,属于基础入门篇,文章靠 ...

  5. Android O 前期预研之二:HIDL相关介绍

    在上一篇博客里,大致介绍了下Android O 中treble计划的一些背景与相关基本架构,这一篇中跟大家一起来探讨下HIDL相关的内容. Android HAL类型  在此之前的ANDROID版本当 ...

  6. axios队列 vue_(十三 )Vue 封装axios(四种请求)及相关介绍

    Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...

  7. Nginx工作原理及相关介绍

    Nginx工作原理及相关介绍 一.Nginx工作原理与模块介绍 1.Nginx基本工作原理 NGINX以高性能的负载均衡器,缓存,和web服务器闻名.Nginx由内核和模块组成,其中,内核的设计非常微 ...

  8. C++访问控制符内容相关介绍

    C++编程语言是一个功能强大,应用广泛的计算机语言.不过在这一语言中,还有许多比较高深的内容值得我们去深入的研究.在这里就先为大家介绍一下C++访问控制符的相关概念.C++访问控制符有三个privat ...

  9. go grpc压缩_跟我学 gRPC—1. gRPC 及相关介绍

    Go语言中文网,致力于每日分享编码.开源等知识,欢迎关注我,会有意想不到的收获! 项目地址:https://github.com/EDDYCJY/go-grpc-example 作为开篇章,将会介绍 ...

最新文章

  1. 2022-2028年中国音像制品行业投资分析及前景预测报告
  2. 美团大脑:知识图谱的建模方法及其应用 | 公开课笔记
  3. 联想PC被华为反超,杨元庆“美梦”或将破碎,余承东:对手较弱
  4. 一文看透全球光伏“大跃进”发展历程
  5. 在Java中使用Protocol Buffers
  6. 工具资源系列之给虚拟机装个windows
  7. 基于Linux和MiniGUI的嵌入式系统软件开发指南(二)
  8. python 多线程Thread
  9. 拓端tecdat|R语言马尔可夫MCMC中的Metropolis Hastings,MH算法抽样(采样)法可视化实例
  10. js加html连线实现流程,(jsPlumb开发入门教程实现html5拖拽连线.doc
  11. python小学教材全解_小学教材全解五年级数学上人教版
  12. RoughSets属性约简算法
  13. 陪诊系统app开发,一个应用可切换不同身份
  14. DDR3的一些基本知识
  15. AAAI2019论文
  16. 1072: 青蛙爬井 Java
  17. Java内存区域和GC机制
  18. css技术点二:字体图标(阿里巴巴字体图标使用)
  19. Lombok基本使用方法
  20. sklearn——线性回归例子

热门文章

  1. js的输出语句及字符串转换
  2. ROS安装与Rviz的摄像头视频采集与标定
  3. 【Unity3D】自动寻路系统Navigation实现人物上楼梯、走斜坡、攀爬、跳跃
  4. 解决Windows系统下网页自适应的终极方法
  5. 微信开发时遇到底部遮挡输入框的解决方案
  6. 一篇文章搞定java中的垃圾回收机制面试题
  7. mysql 余额表设计_余额表的设计
  8. wordpress中强大的query posts 用法
  9. 关于excel有部分数据参与不了排序的解决方法
  10. php放 土豆视频,PHP实现使用优酷土豆视频地址获取swf播放器分享地址