WEB自动化-01-Cypress 介绍

  1. Cypress 介绍

1.1 Cypress 简介

Cypress是一款基于 JavaScript的下一代前端测试工具。可以对浏览器中运行的任何内容进行快速、简单和可靠的测试。
Cypress是 自集成的,提供了一套完整的 端到端测试,无须借助其他外部工具,安装后即可快速地创建、编写、运行测试用例,且对每一步操作都 支持回看。另外Cypress也支持 集成测试单元测试

Cypress 底层协议不采用 WebDriver

1.2 Cypress 原理

大多数测试工具(Selenium/Webdriver)通过在浏览器外部启动一个代理客户端,再通过网络向代理客户端发送命令来运行。而Cypress则刚好相反,其与应用程序在同一个生命周期里执行。

Webdriver底层通信协议基于JSON Wire Protocol,运行需要网络通信。

Cypress 的运行流程如下所示:

  • 1.在运行测试程序后,Cypress会首先使用webpack将测试代码中的所有模块放入一个js文件中
  • 2.再启动浏览器,并将测试代码注入到一个空白页面,然后在在浏览器中运行

1.3 Cypress架构图

Cypress官方并未提供其架构图,根据网络资料整理如下所示:

WEB自动化-01-Cypress 介绍

1.4 Cypress 特性

Cypress主要特性如下所示:

  • 时间穿梭

Cypress在测试代码运行时会自动进行截图拍照。待测试运行结束后,用户可以其提供的Test Runner里,将鼠标悬停命令日志中的命令上,查看每一步具体的操作

  • 实时加载

在测试代码修改后,Cypress可以自动加载改动并重新运行测试

  • Spies/stubs/clocks

Cypress允许验证和控制测试函数的行为,Mock服务器响应或更改系统时间等

  • 运行结果一致性

可以保证每次运行的测试结果都一样

  • 可调试性

在测试结果为失败时,可以直接通过开发者工具进行调试

  • 自动等待

在使用Cypress时,无需在测试代码中添加wait或sleep等。Cypress会自动等待元素至可操作状态才执行命令或断言。

  • 网络流量控制

Cypress可以Mock服务器返回结果。无需连接后端服务器即可实现轻松控制。模拟网络请求。

  • 截图和视频

在测试结果为失败时,Cypress会自动截图,在无GUI界面运行时,会建制整个测试套件的视频,从而可以轻松掌握测试运行情况。

原文地址:https://www.jianshu.com/p/8c1d4c3beec1

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:

WEB自动化-01-Cypress 介绍

Original: https://www.cnblogs.com/surpassme/p/16648266.html
Author: Surpassme
Title: WEB自动化-01-Cypress 介绍

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581639/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球