fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

cypress
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

网站地址:https://www.cypress.io
GitHub:https://github.com/cypress-io/cypress
网站描述:快速,简单,可靠地测试浏览器中运行的任何内容

cypress 是在 mocha 式api基础上构建的一套开箱可用的 E2E 测试框架,对比其他测试框架,它提供一套自己的最佳实践方案,无需其他测试工具库,配置方便简单但功能异常强大,可以使用 webpack 项目配置,还提供了一个强大的 GUI 图形工具。 


安装

npm install cypress --save-dev


Cypress的工作原理

Cypress 是在测试开始并首次加载Cypress时,Cypress Web内部应用程序先把自己托管到本地的一个随机端口上,然后使用webpack将测试代码中的所有模块绑定到同一个JavaScript文件中,启动指定的浏览器,并将测试代码注入到空白页面里,同时运行测试代码。当识别出测试脚本中发出的第一个cy.visit()命令后,Cypress将会更改其本地的URL以匹配远端应用程序的地址,使得测试代码和应用程序可以在一个生命周期中运行。


Cypress运行原理

Cypress测试代码和被测程序都运行在由Cypress全权控制的浏览器中,它们是运行在同一个域下的不同框架内,所以Cypress的测试代码可以直接操作dom,也正如此Cypress相对于其它测试工具可以运行的更快,在开始执行Cypress脚本后它会自动运行浏览器,并将编写的代码注入到一个空白页,然后在浏览器中运行代码。


在进行接口或数据库测试时,需要向服务端发送请求,此请求由Cypress生成,发送给Node.js Process,由Node.js转发给服务端,因此Cypress不仅可以修改进出浏览器的所有内容,还可以更改可能影响自动化操作浏览器的代码,所以Cypress能够从根本上控制自动化测试的流程,提高了稳定性,使得到测试结果更加可靠,如下图所示



Cypress和其他自动化测试工具有什么不一样?

  • Cypress在继续之前会自动等待命令和断言,不再需要async
  • 通过模拟服务器响应来测试Edge测试用例
  • Cypress在运行测试时会截取快照。我们可以将鼠标悬停在命令日志中的每个命令上,以便查看每个步骤都发生了什么
  • 由于其架构设计,与其他自动化工具相比,Cypress提供了快速、一致和可靠的测试
  • 可以从Cypress的Dashboard上查看整个测试执行的视频
  • Cypress构建在Node.js上,并打包为一个npm模块
  • 因为Cypress构建在Node.js上,可以方便的使用 JS 来编写测试
  • Cypress还与jquery捆绑在一起,并继承了许多用于UI组件识别的jQuery方法

Cypress的缺点

  • 只支持 JS 框架去编写测试用例
  • 不支持远程执行
  • 不支持多个浏览器tab
  • 默认不同时支持多个浏览器

链接: https://fly63.com/nav/3136

more>>
相关栏目
Jest
Facebook开发的一个对javascript进行单元测试的工具
官网GitHub
puppeteer
web前端自动化测试利器
官网GitHub
mocker-api
为 REST API 创建模拟 API
官网GitHub
FrontJS
轻量级的网站错误监控平台
官网
Gremlins.js
模拟用户随机操作的 JS 测试库
点击进入GitHub
JSDebugger
基于 JavaScript 的调试程序
官网GitHub
PhantomCSS
像素对比工具
点击进入GitHub
DejaVue
Vue.js的可视化Chrome开发工具
官网GitHub
avoriaz
一个Vue.js测试工具类库
官网GitHub
qunit
一个强大的JavaScript单元测试框架
官网GitHub
Expect.js
写一些简单测试用例、仿自然语言的方法
官网GitHub
should.js
一款js测试断言库
官网GitHub
supertest
nodejs开发单元测试
点击进入GitHub
Fundebug
一行代码搞定BUG监控!
官网
jasmine
一款 JavaScript 测试框架,它不依赖于其他任何 JavaScript 组件
官网GitHub
RegExr
一个基于HTML/JS的工具,用于创建,测试和学习正则表达式
官网GitHub

手机预览