Cypress系列(5)- 自定义 Cypress

简介: Cypress系列(5)- 自定义 Cypress

如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

前言


 

全局配置项


image.png


超时 Timeouts相关


  • 超时是必须要了解的核心概念
  • 几乎所有命令都可能以某种方式超时
  • 所有断言,无论它们是默认断言还是自己添加的断言都具有相同的超时时间

image.png


文件夹 / 文件相关


相对于默认文件结构来说,Cypress 支持用户自定义的文件结构

image.png


可视视图


Cypress 在 Test runner 中运行时,会显示一个可视视图

image.png


Cypress.config()


除了直接在 cypress.json 文件里更改配置项之外,Cypress 还允许我们通过 Cypress.config() 去获取或覆盖某些配置项,语法如下:

// 获取所有config信息
Cypress.config()
// 获取指定配置项的信息
Cypress.config(name)
// 更改指定配置项的默认值
Cypress.config(name, value)
// 使用对象字面量(object literal)设置多个配置项
Cypress.config(object)


小栗子

每次测试运行前都打印所有的配置信息,将下列代码添加到 cypress/support/index.js

beforeEach(function () {

   cy.log(`当前环境变量为${JSON.stringify(Cypress.env())}`)

   cy.log(`当前配置项信息为${JSON.stringify(Cypress.config())}`)

})

运行任意测试文件,则可以看到执行 visit() 命令前打印了两次log日志

image.png


在测试文件的栗子

在 Integration 文件夹下创建 testConfig.js 文件

//<reference types="cypress" /R>
describe('测试配置项', function () {
    it('测试取值和设置值', function () {
        // 获取 pageLoadTimeout默认值
        cy.log(`pageLoadTimeout默认值是:${Cypress.config('pageLoadTimeout')}`)
        // 设置 pageLoadTimeout 值
        Cypress.config("pageLoadTimeout",100000)
        // 再次获取 pageLoadTimeout 的值
        cy.log(`pageLoadTimeout默认值是:${Cypress.config('pageLoadTimeout')}`)
    })
})


image.png

相关文章
|
测试技术
创建第一个 Cypress 应用后使用命令行 npx Cypress open 报错的原因分析
大多数测试工具(如 Selenium)通过在浏览器外部运行并通过网络执行远程命令来运行。Cypress 正好相反。 Cypress 在与 Web 应用程序相同的运行循环(run loop)中执行。 Cypress 背后是一个 Node 服务器进程。 Cypress 和 Node 进程彼此不断通信、同步和执行任务。访问这两个部分(也就是对应的前后台操作)使我们能够实时响应 Web 应用程序的事件,同时在浏览器之外执行需要更高权限的任务。
|
XML JSON JavaScript
【cypress】6. cypress的默认文件结构介绍
【cypress】6. cypress的默认文件结构介绍
【cypress】6. cypress的默认文件结构介绍
|
资源调度 索引
Cypress系列(98)- cypress-xpath 插件, xpath() 命令详解
Cypress系列(98)- cypress-xpath 插件, xpath() 命令详解
378 0
Cypress系列(98)- cypress-xpath 插件, xpath() 命令详解
Cypress系列(99)- cypress-downloadfile 插件, downloadFile() 命令详解
Cypress系列(99)- cypress-downloadfile 插件, downloadFile() 命令详解
375 0
Cypress系列(99)- cypress-downloadfile 插件, downloadFile() 命令详解
Cypress系列(0)- 如何学习 Cypress
Cypress系列(0)- 如何学习 Cypress
304 0
Cypress系列(0)- 如何学习 Cypress
|
Web App开发 JSON JavaScript
Cypress系列(2)- Cypress 框架的详细介绍
Cypress系列(2)- Cypress 框架的详细介绍
841 0
Cypress系列(2)- Cypress 框架的详细介绍
|
Web App开发 资源调度 测试技术
Cypress系列(44)- 命令行运行 Cypress
Cypress系列(44)- 命令行运行 Cypress
678 0
Cypress系列(44)- 命令行运行 Cypress
|
测试技术
Cypress系列(45)- cypress-skip-and-only-ui 插件详解
Cypress系列(45)- cypress-skip-and-only-ui 插件详解
102 0
Cypress系列(45)- cypress-skip-and-only-ui 插件详解
|
XML JSON 资源调度
Cypress系列(41)- Cypress 的测试报告
Cypress系列(41)- Cypress 的测试报告
554 0
Cypress系列(41)- Cypress 的测试报告
|
JavaScript
Cypress系列(93)- Cypress.dom 命令详解
Cypress系列(93)- Cypress.dom 命令详解
295 0
Cypress系列(93)- Cypress.dom 命令详解