Cypress 的特点
1. 基于 node.js 环境的 E2E 前端自动化测试框架
2. 支持 Chrome 和 Firefox 浏览器,自动等待
3. 不用 web driver 驱动浏览器,运行速度快
4. 支持失败用例自动截屏
5. 对运行过程的自动录制视频
6. 时光穿梭看各步骤的 snapshoot
7. 支持 CI 和并发运行,收集测试结果
8. 支持 Junit+Allure 生成测试报告
安装和使用
安装 node.js 之后,运行命令安装 cypress
$ npm install cypress --save-dev
启动待测服务 / 应用
$ npm start & wait-on http://localhost:8080
启动 Cypress Test Runner
$ npx cypress open
运行指定用例,使用 Chrome 浏览器
$ npx cypress run --spec "cypress/integration/login.js" --browser chrome
演示用例 login.js
//用例集
describe('UI loginTest',function(){
//用例
it('console root login',function(){
//打开页面
cy.visit('http://localhost:8080/rootlogin')
cy.url().should('contain','randomKey')
//输入用户,密码,点击登录
cy.get('[name=username]').type('root')
.should('have.value','root')
cy.get('[name=password]').type('password')
.should('have.value','password')
cy.get('.el-button').click()
//登录后进入页面
cy.title().should('contain','系统管理员')
cy.wait(1000)
//登出
cy.contains('root').click()
cy.contains("退出登录").click()
cy.url().should('contain','randomKey')
})
it('console user login', function(){
// user login test
})
})
元素定位方式
cy.get() - 按 CSS 或