初识Cypress
初识Cypress
框架简介
一款基于Node.js的web自动化测试框架
为什么是Cypress
- 新
- 使用的语言更加贴近前端-->
javascript、typescript为主 - 可以覆盖单元、接口、
ui自动化测试
环境准备
-
- 设置全局
node--->在node安装路径下创建node_global--->输入:npm config set prefix "路径" - 设置全局
node缓存--->在node安装路径下创建node_cache--->输入:npm config set cache "路径"
- 设置全局
-
使用
Node.js自带的包管理工具npm下载cypress框架- 初始化需要安装
cypress的目录--->npm init - 安装
cypress--->npm install cypress --save-dev
- 初始化需要安装
安装好后该目录结构为:
---目录名
---cypress
---node_moudules
cypress.config.js
package-lock.json
package.json--->框架配置文件
配置package.json--->打开方式:script字段下添加cypress:open:cypress open
注意:
Cypress自动生成的默认存放测试用例的根目录,任何创建在此目录下的文件都将被当作测试用例
打开程序:
npm cypress open
Cypress框架的运行机制与Selenium的不同
如果一个框架只说优点不说缺点那就是耍流氓!!!
优点
运行原理:
- 大多数测试工具(如:
Selenium/webdriver)通过在外部浏览器运行并在网络上执行远程命令来运行 - 因为
Webdriver底层通信协议基于JSON Wire Protocol,运行需要网络通信
Cypress与应用程序在相同的生命周期里执行
Cypress自集成了mocha ,所以运行时使用webpack将测试代码中的所有模块 bundle 到一个js文件中执行。在识别出测试中发出的第一个cy.visit()命令后,Cypress会更改本地URL以匹配你远程应用程序的Origin【满足同源策略】,这使得测试代码和应用程序可以在同一个Run Loop中运行
缺点
-
因为是一套开箱即用的工具,所以他没有很多的可选性,不像
Selenium可以搭配java、python等语言进行开发,cypress只能和js、ts结合 -
不建议使用
Cypress进行网站爬虫、性能测试 -
Cypress不支持多标签模式 -
Cypress不支持同时打开两个浏览器 -
针对移动端的支持有限
It's a lonely road!!!

浙公网安备 33010602011771号