cypress简单介绍
-
Cypress 是基于 JavaScript 的前端测试工具,它是自集成的,提供了一套完整的端到端测试,无须借助其他外部工具,安装后即可快速地创建、编写、运行测试用例,可以对浏览器中运行的任何内容进行快速、简单、可靠的测试,且对每一步操作都支持回看,不同于其他职能测试 UI 层的前端测试工具,Cypress 允许编写所有类型的测试,覆盖了测试金字塔模型的所有测试类型【界面测试,集成测试,单元测试】。
-
相对于selenium,cypress在元素定位,文件上传,运行速度,调试等方面有着独特的优势;
cypress自带生成定位元素代码,有更灵活的元素定位方式,解决了selenium定位到元素点击时提示元素不存在的问题;
cypress-file-upload插件也使文件上传变的更加简单,解决了selenium上传文件繁琐且不稳定的问题等;
cypress自带网络流量控制,可以 Mock 服务器返回的结果,无须依赖后端服务器,即可实现模拟网络请求,解决多系统依赖问题使自动话测试更稳定。
基于 cypress 代码是直接在浏览器中运行,使得调试更简单方便,改动代码后,cypress 控制台会直接运行测试用例,且每一步都有记录,更方便查找测试问题。
- cypress有八大特性:
时间穿梭【历史记录】
Cypress 在测试代码运行时会自动拍照
等测试运行结束后,用户可在 Cypress 提供的 Test Runner 里,通过悬停在命令上的方式查看运行时每一步都发生了什么
实时重新加载
当测试代码修改保存后,Cypress 会自动加载改动地方,并重新运行测试
Spies(间谍)、Stubs(存根)、Clock(时钟)
Cypress 允许你验证并控制函数行为,Mock 服务器的响应,更改系统时间
单元测试触手可及!·
运行结果一致性
Cypress 架构不使用 Selenium 或 Webdriver,在运行速度、可靠性测试、测试结果一致性上均有良好保障
可调试性
当测试失败时,可以直接从开发者工具(F1