Cypress UI自动化测试框架学习(1)- 入门

2023-10-30 18:30

本文主要是介绍Cypress UI自动化测试框架学习(1)- 入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cypress UI自动化测试框架学习(1)- 入门

Introduction

基于 JavaScript 的前端自动化测试工具,可以对浏览器中运行的任何内容进行快速、简单、可靠的测试

Cypress 是自集成的,提供了一套完整的端到端测试,无须借助其他外部工具,安装后即可快速地创建、编写、运行测试用例,且对每一步操作都支持回看

不同于其他只能测试 UI 层的前端测试工具,Cypress 允许编写所有类型的测试,覆盖了测试金字塔模型的所有测试类型【界面测试,集成测试,单元测试】

Cypress官网:https://www.cypress.io/

Getting Started

下面以MacOS来进行介绍,其他系统可参考官网信息

Operating System

  • macOS 10.9 and above (64-bit only)
  • Node.js 12 or 14 and above

Before Started

  • 已安装好node.js和npm

  • 已安装好vs code或者其他代码编辑器

Started and Run

  • Step1:通过npm新建项目
# 新建项目文件夹
$ mkdir cypress-demo
# 进入项目文件夹
$ cd cypress-demo
# npm项目环境准备
$ npm init
  • Step2:安装cypress
# 项目安装cypress包
$ npm install cypress --save-dev
  • Step3:运行cypress程序

若提示:npm ERR! missing script: cypress:open,可在项目根目录package.json文件的scripts下新增"cypress:open": “cypress open”,保存后再次运行命令即可

# 启动demo
$ npm run cypress:open

Started Screenshot

  • 运行截图

  • demo用例执行截图

Try First Testscript

Testcase

1.访问光谷社区主页http://www.guanggoo.com/
2.验证是否正确跳转到光谷社区页面
3.验证网页标题是否正确
4.点击登录按钮,验证正确跳转到登录页面
5.在登录页面输入用户名和输入密码
6.点击登录按钮,验证登录成功

Testscript

  • 在项目cypress/integration下新建demo文件夹

  • 在demo文件夹下新建demo-guanggoo.js

  • demo-guanggoo.js编写测试脚本

脚本中账号密码需换成自己的账号密码

describe('first testcase for cypress',function(){it('visit guanggoo homepage and login for guanggoo:',function(){// 访问并登录光谷社区cy.visit('http://www.guanggoo.com/') //访问urlcy.url().should('include','www.guanggoo.com')     //验证目标url 是否正确包含光谷社区正确域名 验证是否正确跳转到光谷社区页面cy.title().should('contain','光谷社区')  //验证页面 title 是否正确cy.get(':nth-child(1) > .nav-collapse').click()   //点击登录按钮cy.url().should('include','login')  //验证正确跳转到登录页面cy.get('#email') //根据 css 定位用户名输入框.type('dengnao.123@163.com')        //输入用户名cy.get('#password') //根据 css 定位密码输入框.type('xxxxxxx')        //输入密码cy.get('.btn-success').click()   //点击登录按钮})
})

Run Screenshot

  • 运行cypress程序
# 启动
$ npm run cypress:open

  • 页面上选择点击运行demo-guanggoo.js即可

  • 运行通过无报错,代表用例编写成功

这篇关于Cypress UI自动化测试框架学习(1)- 入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/309804

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx