前端自动化测试框架-Cypress

这篇具有很好参考价值的文章主要介绍了前端自动化测试框架-Cypress。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、前言

一提起 Web UI 自动化时,大多数都会想到自动化测试工具 Selenium。随着测试技术的不断发展,出现了很多优秀的自动化测试工具。

本篇将介绍一款目前市面上很受欢迎的自动化测试工具-Cypress。

Cypress 是一个易于使用、快速稳定、可靠性高、全面性强的自动化测试框架,因此很多自动化测试都在使用它。

2、简介

Cypress 是一个基于 JavaScript 的端到端测试框架,它专注于提供简单易用、可靠稳定的自动化测试解决方案。Cypress 提供了一个强大的 API,可以轻松编写、运行和调试测试用例,同时还提供了丰富的命令和断言库,帮助测试人员更高效地编写测试用例。Cypress 还内置了自动化截图、视频录制、实时重载等功能,让测试人员更加高效地进行测试工作。

特性:

1、时间穿梭:Cypress 在测试运行时拍摄快照。只需将鼠标悬停在“命令日志”中的命令上,即可准确查看每一步发生了什么。

2、调试性:不要再猜测为什么你的测试失败了。直接从 Chrome DevTools 等熟悉的工具进行调试。我们的可读错误和堆栈跟踪使调试速度极快。

3、实时重新加载:每当您对测试进行更改时,Cypress 会自动重新加载。查看应用程序中实时执行的命令。

4、自动等待:不要在测试中添加等待或睡眠。Cypress 在继续之前自动等待命令和断言。不再是异步地狱。

官方地址:

https://www.cypress.io/

GitHub地址:

https://github.com/cypress-io/cypress

3、安装

在 Windows 环境下进行部署。采用 Npm 方式安装。

1、Node.js

如果你使用 npm 的方式安装 Cypress,支持版本:

Node.js 12 或 14 及更高版本。

首先安装 Node.js

下载地址:

https://nodejs.org/en/download/

因作者之前已安装过 Node.js,则在命令行输入以下命令,进行安装验证即可。

node --version

npm --version

如图所示:系统已经有了 Node.js 环境,且满足安装 Cypress 的要求。

前端自动化测试框架-Cypress

执行 npm init -y 命令生成 package.json 文件。

例如在作者系统的 D 盘路径下创建 CypressProjects 目录。

打开命令行工具,跳转到新创建的目录里,输入 npm init -y

配置生成 package.json 文件。

前端自动化测试框架-Cypress

文件创建完成。里面包含了项目的配置信息。

前端自动化测试框架-Cypress

2、Cypress

输入安装命令 npm install cypress --save-dev

(还是在创建的 CypressProjects 目录里)

前端自动化测试框架-Cypress

安装完成后,目录结构。

前端自动化测试框架-Cypress

4、打开Cypress

打开命令行,跳转到安装目录下(如 D:\CypressProjects)

执行命令 node_modules\.bin\cypress open

前端自动化测试框架-Cypress

打开 Cypress

可以看到支持端到端测试和组件测试。

端到端测试:从端到端构建和测试应用程序的整个体验,以确保每个流符合您的期望。

组件测试:独立地从设计系统构建和测试组件,以确保每个状态符合您的期望。

前端自动化测试框架-Cypress

端到端测试与组件测试之间的差异:

1、端到端测试:

(1)通过 cy.visit() 访问 URL

(2)跨多个页面测试流程和功能

(3)非常适合测试 CD 工作流中的集成流

2、组件测试:

(1)通过 cy.mount() 导入组件

(2)隔离测试设计系统的各个组件

(3)非常适合测试 CI 中的隔离流和组件

前端自动化测试框架-Cypress

以端到端测试为例

前端自动化测试框架-Cypress

选择浏览器,选择您首选的浏览器进行端到端测试。例如选择 Electron。

之后点击启动端到端测试。

前端自动化测试框架-Cypress

创建你的第一个规范,可选择如下规范。

脚手架示例规范:我们将生成几个示例规范,帮助指导您如何在 Cypress 中编写测试。

创建新的空规范:我们将生成一个空的 spec 文件,用于开始测试应用程序。

点击创建新的空规范。

前端自动化测试框架-Cypress

跳转到输入新规格路径对话框,输入新规范的名称即可。这里填写默认名称。

点击创建规范。

前端自动化测试框架-Cypress

成功添加规范。

前端自动化测试框架-Cypress

点击运行规范,执行成功。

前端自动化测试框架-Cypress

5、第一个脚本

修改已创建的 spec.cy.js 规范。

前端自动化测试框架-Cypress

修改前的脚本内容:

describe('empty spec', () => {
  it('passes', () => {
    cy.visit('https://example.cypress.io')
  })
})

修改后的脚本内容:

describe('公众号:AllTests软件测试', () => {
  it('访问首页', () => {
    cy.visit('https://www.baidu.com/') // 访问网站首页
    cy.contains('百度一下') // 确认页面包含指定文本
  })

  it('搜索关键词', () => {
    cy.get('input[name="wd"]') // 获取搜索框
      .type('cypress') // 输入搜索关键词
    cy.get('input[type="submit"]') // 获取搜索按钮
      .click() // 点击搜索按钮
    cy.contains('cypress') // 确认搜索结果页面包含指定文本
  })
})

上面的测试脚本包含两个测试用例,第一个测试用例访问网站首页并确认页面包含指定文本;第二个测试用例搜索关键词并确认搜索结果页面包含指定文本。在这个示例中,我们使用了 Cypress 提供的 API 来访问页面、获取元素、输入文本、点击按钮等操作,同时使用了 Cypress 提供的断言库来确认页面是否包含指定文本。

运行结果,执行成功。

前端自动化测试框架-Cypress

6、Cypress设置

设置打开方式,修改 package.json 文件。

方式一:cypress run  是以无头浏览器模式跑测试用例文件夹下的所有测试用例。

"scripts": {
  "cypress:run": "cypress run"
}

例如:

{
  "name": "cypressprojects",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "cypress:run": "cypress run"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "cypress": "^10.6.0"
  }
}

保存后,打开命令行,输入命令 npm run cypress:run

前端自动化测试框架-Cypress

方式二:cypress open 会打开测试用例集的界面,需要手动运行。

"scripts": {
  "cypress:open": "cypress open"
}

例如:

{
  "name": "cypressprojects",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "cypress:open": "cypress open"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "cypress": "^10.6.0"
  }
}

保存后,打开命令行,输入命令 npm run cypress:open

前端自动化测试框架-Cypress

更多官方示例:

https://github.com/cypress-io/cypress-example-recipes

7、Cypress目录

前端自动化测试框架-Cypress

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

前端自动化测试框架-Cypress

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

前端自动化测试框架-Cypress文章来源地址https://www.toymoban.com/news/detail-494755.html

到了这里,关于前端自动化测试框架-Cypress的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端自动化测试 —— Jest 测试框架应用

    目录 ​​​​​​​ 什么是自动化测试 为什么要用前端自动化测试 前端自动化分类和思想 单元测试 集成测试 TDD 测试驱动开发(Test Driven Development) BDD 行为驱动开发(Behavior Driven Development) 如何自己写非框架测试用例 是否能简化? 如何能清晰地看到我测的是哪个呢?

    2024年02月07日
    浏览(40)
  • Node.js躬行记(28)——Cypress自动化测试实践

    最近在研究如何提升项目质量,提炼了许多个用于自测的测试用例,但是每次修改后,都手工测试,成本太高,于是就想到了自动化测试。 在 一年前 已将 Cypress 集成到管理后台的项目中,不过没有投入到实践中。今天在实践时发现,版本已经到了 12.X,当时集成的版本是

    2024年02月03日
    浏览(36)
  • 比selenium体验更好的ui自动化测试工具: cypress介绍

    话说 Cypress is a next generation front end testing tool built for the modern web. And Cypress can test anything that runs in a browser.Cypress consists of a free, open source, locally installed Test Runner and a Dashboard Service for recording your tests. 吹的挺好哈,那咱也来尝试玩玩,试试,哈哈! 1、在Windows 7以上的环境中,可

    2024年01月16日
    浏览(48)
  • 【自动化测试】几种常见的自动化测试框架

    在软件测试领域,自动化测试框架有很多,这里主要介绍几种常用的自动化测试框架。 pytest 是 Python 的一种单元测试框架,与 Python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。主要有以下几个特点: 简单灵活,容易上手。 支持参数化。 能

    2024年02月07日
    浏览(48)
  • 自动化测试(三):接口自动化pytest测试框架

    API:Application Programming Interface 接口自动化按照自动化的工具可分为 基于 接口测试工具 的接口自动化 eg1:Postman+Newman+git/Svn+Jenkins(基于Javascript语言)接口自动化 Postman :创建和发送 API 请求,并对响应进行断言和验证。 Newman : Postman 的命令行工具,它允许测试人员在没有界

    2024年02月10日
    浏览(65)
  • 从0到1精通自动化测试,pytest自动化测试框架,doctest测试框架(十四)

    doctest从字面意思上看,那就是文档测试。doctest是python里面自带的一个模块,它实际上是单元测试的一种。 官方解释:doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果 doctest测试用例可以放在两个地方 函数或者方法下的注释里面 模块的

    2024年02月11日
    浏览(90)
  • 自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)

    1、什么是自动化测试? 程序测试程序、代码代替思维、脚本代替人工 核心:质量和效率 作用:降低成本、节省人力时间、推动CI和DevOps、准确性和可靠性、模拟人工难以实现的手段、快速持续迭代发布能力、衡量产品的质量、提升测试效率、提高测试覆盖率 2、手工测试

    2024年03月08日
    浏览(81)
  • python自动化测试- 自动化框架及工具

    手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到的  测试自动化  也将围绕着  接口自动化  来介绍。 本系列选择的测试语言是 python 脚本语言。由于其官方文档已经对原理

    2024年02月22日
    浏览(66)
  • Pytest自动化测试框架---(单元测试框架)

    unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发一些功能(报告,初始化webdriver,或者http请求方法)便可实现。 但自

    2024年02月14日
    浏览(70)
  • UI自动化概念+Web自动化测试框架

    1.UI自动化测试概念:我们先明确什么是UI UI,即(User Interface简称UI用户界面)是系统和用户之间进行交互和信息交换的媒介 UI自动化测试: Web自动化测试和移动自动化测试都属于UI自动化测试,UI自动化测试就是借助自动化工具对程序UI层进行自动化的测试 2.为什么对UI采用自动化

    2024年02月06日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包