e2e测试,即end to end(端到端)测试。理论上前端页面由前端框架来测试确实更为合适,而Cypress就是一款专注e2e的测试框架。
1.安装Node.js
Node.js的安装方式就省略了,网上百度都有,安装完后通过node -v指令验证是否安装成功。
2.创建package.json
使用命令npm init在项目的根目录下来初始化一个package.json文件,运行这个命令后,它会询问一些关于包的基本信息,根据实际情况回答即可。如果不喜欢这种方式,可以使用npm init --yes (或npm init --y)命令直接使用默认的配置来创建package.json文件,最后根据需要修改创建好的package.json文件即可。
#在项目的根目录下执行npm init

3.安装cypress
Cypress有二种安装方式
一、下载安装
https://download.cypress.io/
该网站会根据你的操作系统,自动下载最合适的版本;下载完后,解压文件,双击就可以使用 Cypress 了!但下载安装Cypress有个缺陷,无法运行 DashBoard 服务,直接下载仅用作快速尝试 Cypress;所以,不推荐此方式!
二、在线安装(推荐)
确保你已经运行了npm init,或者根目录存在node_modules文件夹,或者在你项目的根目录存在package.json文件, 以此来确保cypress被安装到正确的路径下。
由于不可说的原因,npm install 时,速度总是不尽如人意,解决办法是修改npm的数据源
npm config set registry http://registry.npm.taobao.orgnpm config get registry
进入cypress项目的根目录,输入如下命令,安装过程可能比较漫长,需要耐心等待,我可是下载安装了一天才完成,这里面的警告可以忽略
npm install cypress --save-dev

4.启动cypress
进入 .bin 目录,然后输入 cypress open 启动 cypress


我们只要删除 .bin 目录下的 cypress 文件,然后点击图中的“Try Again”出现如下界面表示启动成功了。

启动成功后,会在 .bin 目录下生成如下几个文件,还有其它不相关的文件就不列出来了
- cypress cypress目录---- fixtures 测试数据配置文件,可以使用fixture方法读取---- integration 测试脚本文件---- plugin 插件文件---- support 支持文件- cypress.json cypress全局配置文件
5.创建用例

/// <reference types="cypress" />describe('center登录测试用例',function(){beforeEach(() =>{cy.viewport(800,600)cy.visit('/')})it('登录',function(){cy.get('#username > input').click()cy.get('#username > input').type('hubiao')cy.get('#password > input').type('******{enter}')cy.wait(2000)cy.get('.login-btn > button').click()cy.get('.logo-title').should('be.visible')cy.get('.logo-title').should('contain','只有edit的企业')})})

7.你可能会遇到的坑
{"chromeWebSecurity": false,"baseUrl": "http://center.lbuilder.cn","viewportWidth": 1280,"viewportHeight": 600,"integrationFolder": "cypress/integration","testFiles": "**/*.spec.js"}

本文分享自微信公众号 - 彪哥的测试之路(gh_c1b79633c733)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4626630/blog/4526534