Cypress

WEB自动化-01-Cypress 介绍

2022-09-01  本文已影响0人  Surpassme

1. Cypress 介绍

1.1 Cypress 简介

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

Cypress 底层协议不采用 WebDriver

1.2 Cypress 原理

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

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

    Cypress 的运行流程如下所示:

1.3 Cypress架构图

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

0101Cypress架构图.png

1.4 Cypress 特性

    Cypress主要特性如下所示:

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

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

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

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读