09 2022 档案
摘要:12 调试 Cypress的测试代码和被测试程序在同一生命周期中的浏览器中,也就是意味着,可以使用浏览器的开发者工具直接参与调试。Cypress提供了几种调试方法,分别为:debugger、debug、pause和开发者工具 12.1 使用debugger 我们先来看看一份代码: describe(
阅读全文
摘要:11 数据驱动 数据驱动是测试框架中一个非常好的功能,使用数据驱动,可以在不增加代码量的情况下生成不同的测试策略。下面我们来看看在Cypress中的数据驱动使用方法。 11.1 数据在文件中 在前面已经使用很多次,示例如下所示: [ { "ID": "Data-1", "name": "Surpas
阅读全文
摘要:10 Page Object 模型 10.1 概述 在针对一个WEB页面编写自动化测试用例时,需要引用页面中的元素(数据)才能进行操作(动作)并显示出页面内容。如果编写的测试用例是直接针对WEB页面元素进行操作,则无法应对经常发生变化的WEB页面,增加日后自动化代码的维护成本。而Page Objec
阅读全文
摘要:9 测试报告 一份好的测试报告,可以很直观的看出整个测试过程的各种数据。而Cypress的测试报告是基于Mocha,因此任何支持Mocha的测试报告都可以应用于Cypress。但实际上,Cypress默认使用spec输出测试报告。如果不想使用自带的测试报告,也可以添加第三方的测试报告模板和自定义的测
阅读全文
摘要:8 接口测试 在服务和服务、系统和系统之间进行通信时,常常会使用到接口。通过接口测试,可以在项目早期更快发现问题。接口有很多类型,而现阶段使用的接口是基于HTTP协议的接口。 8.1 Cypress支持的HTTP请求方式 在Cypress中发起HTTP请求时,需要使用到的命令为cy.request(
阅读全文
摘要:7 Test Runner 7.1 概述 Test Runner是Cypress非常重要一个组件,其主要作用为运行测试、更改配置、将运行的测试结果写入控制台等等。 打开Cypress Test Runner的方式如下所示: npm run cypress open 或 npx cypress ope
阅读全文
摘要:6 命令行运行Cypress Cypress命令行的运行基本语法格式如下所示: cypress <command> [options] command代表运行的命令,是必选参数。支持的命令有:open、run、install、verify、cache、version、help。options是代表各
阅读全文
摘要:5 元素交互 元素识别和操作是UI自动化测试的基础,下面一起来学习一下在Cypress中的元素交互操作吧。 5.1 元素定位器选择 每一个测试用例都包含对元素的定位识别和操作等。因为一个好的测试用例,必须保证健壮和可靠的元素定位策略。在实际项目中,经常会遇到以下问题: 元素ID或类是动态生成 若使用
阅读全文
摘要:4 测试用例编写和组织 4.1 用例结构 Cypress是建立在Mocha和Chai之上,因此同时支持Chai的BDD和TDD两种风格。如果你熟悉JavaScript风格的代码,那么在Cypress中写测试用例是很容易上手的。 Mocha是一款适用于Node.js和浏览器的测试框架,可使用异步测试变
阅读全文
摘要:3 Cypress 测试框架概述 3.1 Cypress 默认文件结构 在Cypress安装完成后,其生成的默认文件目录如下所示: 3.1.1 Fixtures Fixture又称之为测试夹具,通常配合cy.fixture命令使用,主要用于存储测试用例的外部静态数据。其默认位置位于cypress\f
阅读全文
摘要:2 Cypress 安装 2.1 安装要求 2.1.1 系统要求 在操作系统满足以下要求时,才能进行安装,具体要求如下所示: MacOS 10.9+(仅支持64位版本) Linux Ubuntu 12.04+、Fedora 21和 Debian (支持64位版本) Windows 7+(仅支持64位
阅读全文
摘要:1. Cypress 介绍 1.1 Cypress 简介 Cypress是一款基于JavaScript的下一代前端测试工具。可以对浏览器中运行的任何内容进行快速、简单和可靠的测试。 Cypress是自集成的,提供了一套完整的端到端测试,无须借助其他外部工具,安装后即可快速地创建、编写、运行测试用例,
阅读全文