全新ui自动化测试框架教学——Cypress

2024-01-03 00:04

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

前言

        在现阶段自动化测试领域大规模普及的是selenium及appium等常规自动化测试工具,但在其中会有遇到很多影响因素导致测试结果不理想和不准确的情况发生。在经过Darren洋对自动化测试工具调研后,发现了Cypress这一款针对端到端的自动化测试工具,Cypress的架构与Selenium不同。Selenium WebDriver在浏览器外部远程运行,而Cypress在其内部运行。这种方法有助于了解浏览器内部和外部发生的所有事情,以提供更一致的测试结果。Cypress可以测试web ui及api自动化测试(最重要的一点是该款工具可以自动生成元素标签语句,针对基础薄弱和零基础的小白非常友好,打工人学习起来也是非常快,非常容易顺手)。

一、安装npm

还没安装node.js的小伙伴请看我之前的博客记录的node.js安装流程。

https://cfycsdnbk.blog.csdn.net/article/details/130383779

二、安装package.json配置文件

在新建的文件夹内执行 npm init -y 命令生成 package.json 文件

npm init -y

三、安装cypress

在dos系统中使用以下npm命令安装cypress程序包。

npm install cypress --save-dev

npm WARN notsup Unsupported engine for cypress@13.6.2: wanted: {"node":"^16.0.0 || ^18.0.0 || >=20.0.0"} (current: {"node":"12.22.12","npm":"6.14.16"})
npm WARN notsup Not compatible with your version of node/npm: cypress@13.6.2
npm WARN CypressProjects@1.0.0 No description
npm WARN CypressProjects@1.0.0 No repository field.

这里因为使用的node.js版本为12左右的,导致cypress版本不支持改node,故使用nvm进行下载切换高版本的node.js。

重新打开dos系统进行安装即可解决版本不兼容问题。

四、打开cypress图形化界面

在dos系统中使用以下命令打开cypress图形化界面。

node_modules\.bin\cypress open

选择端到端测试选项。

这里按照自己的浏览器进行选择,这里我选择的是谷歌浏览器。选择后会打开一个全新的本地页面(也就是cypress的操作页面)。

五、创建新示例

        进入页面后选择创建空示例。

若点击运行显示窗口报以下错误,则应考虑npm版本是否与cypress存在版本不兼容的问题。

Error: Webpack Compilation Error
Module build failed (from C:\Users\Administrator\AppData\Local\Cypress\Cache\13.6.2\Cypress\resources\app\node_modules\babel-loader\lib\index.js):
Error: Cannot find module 'fs/promises'
Require stack:

        示例显示效果:

六、运行示例

在js文件进行代码流程的修改,以Darren洋本地构建项目为例。

describe('Darren洋自动化测试', () => {it('访问首页并搜索', () => {cy.visit('http://localhost:8080/EasyBuy/Home?action=index')cy.get('input[name="keyWord"]').type('1')cy.get('.s_btn').click()})
})

修改好后,在浏览器中点击js文件即可运行,运行效果如下:

七、快速获取元素定位语句

        相比于自己找标签的语句写法,在cypress中还有一种快速获取标签语句的用法,简直是超级方便,绝对的打工人福利。

        直接复制命令啦,这个脚本获取的太轻松啦!!!其余脚本标签获取一样,在这里Darren洋就不过多演示啦!!!下课!!!

这篇关于全新ui自动化测试框架教学——Cypress的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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典型应用场景传统

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea