UI自动化测试框架之cypress

news2024/11/25 12:46:55


官网地址:JavaScript End to End Testing Framework | cypress.io testing tools

cypress由一个免费的、开源的、本地安装的应用程序和一个用于记录您的测试的仪表服务组成。是前端测试的工具,解决开发人员和QA工程师在测试应用程序时面临的关键痛点;

本文描述Windows的安装和使用

安装

  • 安装nodejs
    cypress是nodejs的一个库,所以先要安装nodejs,这里安装步骤就省略了(nodejs官网下载地址:https://nodejs.org/en/download )

校验nodejs是否安装成功,可以执行

node -v

在这里插入图片描述

  • 接下来安装cypress
    执行命令
npm install cypress --save-dev

运行程序

  1. 创建项目目录
    在电脑目录创建文件夹,如 cypress-demo
  2. 项目目录初始化,初始化完成后,会自动创建package.json文件
npm init 	//一路回车即可
npm i
  1. 在项目根目录,输入命令启动
npx cypress open
或者通过试用yarn
yarn run cypress open
完整路径的漫长道路
./node_modules/.bin/cypress open
或使用快捷方式npm bin
$(npm bin)/cypress open

启动后如图
在这里插入图片描述
Launchpad 首先向您展示了您最大的决定:我应该进行哪种类型的测试? E2E 测试,我在哪里运行我的整个应用程序并访问页面来测试它们?或者 Component Testing,我在哪里安装我的应用程序的各个组件并单独测试它们?
有关此关键决策的更多背景信息,请阅读 测试类型。或者,如果您不确定自己想要哪种类型并且只是想继续您的测试之旅,现在只需选择E2E - 您以后随时可以更改!

  1. 快速配置
    在这里插入图片描述

在下一步中,Launchpad 将构建一组适合您选择的测试类型的配置文件,并将列出更改供您查看。有关生成的配置的更多信息,请查看 赛普拉斯配置参考,或者您可以向下滚动并点击“继续”。

  1. 启动浏览器
    在这里插入图片描述

运行第一个测试程序

添加测试文件

根据上面步骤操作完后,启动的浏览器中,添加测试文件
在这里插入图片描述

单击它时,您应该会看到一个对话框,您可以在其中输入新规范的名称。现在只接受默认名称
在这里插入图片描述
新生成的规范显示在确认对话框中。只需继续并使用✕按钮将其关闭。
在这里插入图片描述

一旦我们创建了该文件,您应该会看到应用程序立即将其显示在端到端规范列表中。监控您的规范文件是否有任何更改并自动显示任何更改。
在这里插入图片描述

编写测试脚本

测试文件添加完后,会在项目目录的cypress\e2e目录下,看到你创建的测试文件(如:spec.cy.js)
用文档编辑工具打开,输入代码

describe('cypress demo', () => {
  it('百度测试用例', () => {
	cy.visit('https://www.baidu.com/')
	// 验证title
	cy.title().should('contain', '百度一下,你就知道')
	//根据css定位搜索输入框
	cy.get('#kw').type('python')
		.should('have.value', 'python')	//验证关键字自动是否展示正确
	cy.get('#su').click()   //根据 css 定位搜索按钮并点击
    cy.url().should('include','wd=python')     //验证目标url 是否正确包含关键字
    cy.title().should('contain','python_百度搜索')  //验证页面 title 是否正确
    cy.get('[id="1"]').should('contain','python')    // 验证第一个结果中是否包含TesterHome
    cy.screenshot()
  })
})

测试编辑完保存后,就会看到打开浏览器的运行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/526098.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跟光磊学Java-Windows版Java17开发环境搭建

如果想要开发Java程序/Java项目之前,必须要安装和配置JDK,这里的JDK表示Java17,不过下载软件的时候,强烈推荐大家一定要去软件的官网下载,因为官网提供的软件版本是最新的,会修复旧版本遗留的问题,这样我们…

教育edusrc证书站点漏洞挖掘

前言 以下涉及到的漏洞已提交至edusrc教育行业漏洞报告平台并已修复,该文章仅用于交流学习,切勿利用相关信息非法测试,如有不足之处,欢迎各位大佬指点。 正文 0x00 敏感信息泄漏 访问存在漏洞的站点首页,分析BurpS…

【数据科学赛】PromptCBLUE:首个中文医疗场景LLM评测基准 #¥16000

CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 更多比赛信息见 CompHub主页[1] 以下信息由AI辅助创作,仅供参考,请以官网为准(文末…

华为认证HCIA+HCIP题库(超500题含答案解析)

本套题库包含以下内容,覆盖数通Datacom方向HCIA和HCIP两科考题,考试代码为H12-811、H12-821、H12-831。有需要的可以直接拿。 首先来看看各科目的考试内容及分值占比。所有满分均为1000分,只需600分即可拿证,考试时间均为60分钟。…

CTF比赛必备常用工具

文中介绍的所有工具,均在压缩包中,结合本文更便于大家下载使用,快速上手。 CTF常用工具下载 CTF比赛必备常用工具 一、什么是CTF二、比赛中工具的重要性三、常用MISC(杂项)工具1. Audacity (提取莫斯密码辅…

C++【继承】

✨个人主页: 北 海 🎉所属专栏: C修行之路 🎃操作环境: Visual Studio 2019 版本 16.11.17 文章目录 🌇前言🏙️正文1、继承的概念1.1、本质1.2、作用1.3、实际例子 2、继承的定义2.1、格式2.2、…

linux创建新用户

只需要四步就能创建一个新的linux用户 1.打开终端 快捷键CtrlAltT 2.创建用户和密码 sudo useradd -m aaa 创建用户名为aaa的用户 -m:自动建立用户的登入目录 sudo是允许系统管理员让普通用户执行root命令的一个工具(获取权限) 这里会需要输…

Packet Tracer安装包及安装教程(8.0版本)

Packet Tracer安装包下载链接: 链接:https://pan.baidu.com/s/19BbCZzSxukKKdsdaqw7dHw 提取码:6666 (若果链接失效,可在评论区留言。) 安装步骤 1、解压缩文件,得到 cisco packet tr…

[架构之路-198] - 功能需求与分析:1张图、 4个阶段、16个步骤,系统分析问题与彻底解决问题的方法:问题界定、原因分析、方案确认、落实执行

目录 前言:一张图: 一、界定问题:找到真正的问题,问题就解决了一大半 1.发现异常: 2.优先顺序: 3.描述现状: 4.确定目标: 二、要因分析:透过表象,直达…

Synopsys的仿真软件Hspice 2022版在Windows系统上的下载安装教程

目录 前言一、Hspice安装二、安装许可管理工具三、配置使用总结 前言 Synopsys HSPICE是电子电路仿真领域非常强大的软件,具有模拟和分析MOS元件的算法。HSPICE用于分析基本的电子电路,如晶体管,不包括电子元件,如微控制器。该软…

虚拟机搭建宝蓝德中间件(三)

2.1. 准备介质 2.1.1. 介质包: 宝兰德中间件的介质名为:BES-9.5.2.4703.tar.gz,该介质包适用于不同操作系统和 硬件平台。 2.1.2. 上传 BES952 单机版介质,上传路径:/home/bes 2.1.3. 新建 BES 中间件目录,…

基于阿里云物联网平台的Android物联网软件框架

Android 物联网APP 提示:该工程是连接阿里云物联网平台的模板代码,将MQTT连接、JSON数据的订阅发布等操作封装,并且能够迅速将获取到的数据显示到手机界面上。使用了Servier进行网络连接的逻辑操作,并且使用自定义控件&#xff0…

uni-app嵌入微信小程序原生代码

使用uni-app有时需要用到微信小程序原生代码 解析: uni-app项目结构跟原生小程序的项目结构有着不一致的区别,如果说开发过程中必须要使用原生代码,就需要把原生代码作为组件的方式在uni-app项目中引入使用官网为了应对这一个需求,就给出了以下方法,供开发者实现 wxcomponent…

SQL注入详解(全网最全,万字长文)

漏洞原因 一些概念: SQL:用于数据库中的标准数据查询语言。 web分为前端和后端,前端负责进行展示,后端负责处理来自前端的请求并提供前端展示的资源。 而数据库就是存储资源的地方。 而服务器获取数据的方法就是使用SQL语句进…

Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ SQLite简介 SQLite是一种小巧的嵌入式数据库,使用方便,开发简单,如同mysql,oracle那样,SQLite也采用SQL语句管理数据,由于它属于轻型数据库&#xff0…

【网络】- TCP/IP四层(五层)协议 - 数据链路层

一、概述 TCP/IP 在最初定义时,是一个四层的体系结构,包括应用层、传输层、网络层、网络接口层。由于最下面的网络接口层并没有什么具有内容。因此,在学习计算机网络原理时,往往采用折中的办法,综合了 OSI 和 TCP/IP 的…

数据结构与算法----详解二叉树的遍历(迭代、递归)

文章目录 实现二叉树的类前序遍历中序遍历后序遍历层次遍历总结 ❤️ 作者简介:大家好我是小鱼干儿♛是一个热爱编程、热爱算法的大三学生,蓝桥杯国赛二等奖获得者🐟 个人主页 :https://blog.csdn.net/qq_52007481⭐ 个人社区&…

微信小程序跳转微信内置浏览器

最近遇到一个需求,需要微信小程序跳转到微信内置浏览器,但是官网并没有给出相关文档。查阅了大量资料,发现有两种实现方式。 1、通过微信公众号文章实现 小程序可以使用web-view打开关联的公众号文章,公众号文章可以在阅读全文放…

macOS Ventura 13.3 (22E252) 正式版 ISO、DMG镜像下载

macOS Ventura 版本历史 Release: macOS Ventura 13.3 (22E252), 2023-03-27macOS Ventura 13.2.1 (22D68), 2023-02-18macOS Ventura 13.2 (22D49), 2023-01-23macOS Ventura 13.1 (22C65), 2022-11-13macOS Ventura 13.0.1 (22A400), 2022-11-09macOS Ventura 13.0 (22A380…

关于结构体初始化的自我小结

前段时间在一个项目中使用到结构体数组来存储产品不同型号的参数,使程序通用化,便于测试和快速生产。由于之前很少使用结构体数组,在初始化时遇到了一点小阻碍,于是便想到对于结构体和其数组的初始化操作做一个小总结:…