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.org
npm 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