Cypress UI 自动化(4)- cypress.json的各参数详解

参考:https://docs.cypress.io/zh-cn/guides/references/configuration.html#blacklistHosts

cypress常用的配置文件如下:

{
    "baseUrl": "http://127.0.0.1:8081",
    "viewportWidth": 1920,
    "viewportHeight": 1080,
    "defaultCommandTimeout":60000,
    "requestTimeout":100000,
    "responseTimeout":100000,
    "watchForFileChanges":false,
    "video": false,
    "reporter": "junit",
    "reporterOptions": {
      "mochaFile": "cypress/results/TestReport-[hash].xml",
      "toConsole": true
    }
}

 

全局配置项

选项

默认

描述

baseUrl

null

url用作cy.visit()cy.request()命令的url前缀

env

{}

设置任意环境变量。

ignoreTestFiles

*.hot-update.js

用于忽略测试文件的字符串或数组的glob模式,否则这些测试文件将显示在测试列表中。(暂未用到)

numTestsKeptInMemory

50

快照和命令数据将保存在内存中的测试数量。如果在测试运行期间浏览器的内存消耗很高,请减少这个数字。

port

null

用于托管cypress的端口。通常这是一个随机生成的端口。

reporter

spec

使用cypress run命令时,该参数才生效。

reporterOptions

null

使用的报告生成器选项。所支持的选项取决于报告生成器。

testFiles

**/*.*

要加载的测试文件的String glob模式。

watchForFileChanges

true

Cypress是否会在测试文件更改时监视并重新启动测试

 

超时配置项

选项

默认

描述

defaultCommandTimeout

4000

基于默认DOM命令的超时时间(以毫秒为单位)

execTimeout

60000

基于cy.exec()命令的超时时间(以毫秒为单位)

taskTimeout

60000

基于cy.task()命令的超时时间(以毫秒为单位)

pageLoadTimeout

60000

等待页面加载完成的超时时间(以毫秒为单位)。包括命令:cy.visit()cy.go()cy.reload()

requestTimeout

5000

等待请求完成的超时时间(以毫秒为单位)。包括命令:cy.wait()

responseTimeout

30000

等待响应完成的超时时间(以毫秒为单位)。包括命令:

cy.request()cy.wait()cy.fixture(),cy.screenshot()

cy.getCookie()cy.getCookies()cy.setCookie()cy.clearCookie()cy.clearCookies()

 

文件路径配置项

选项

默认

描述

fileServerFolder

cypress

根项目文件夹

fixturesFolder

cypress/fixtures

包含集成测试配置文件的路径(通过false禁用)

integrationFolder

cypress/integration

包含集成测试文件的路径

pluginsFile

cypress/plugins/index.js

插件文件的路径(通过false禁用)

screenshotsFolder

cypress/screenshots

截图文件的路径,包含cy.screenshot()命令 和 cypress run测试失败期间保存的屏幕截图。

supportFile

cypress/support/index.js

在加载测试文件之前加载文件的路径(通过false禁用)

videosFolder

cypress/videos

视频文件的路径,用于保存cypress run运行期间的视频。

 

截图配置项

选项

默认

描述

screenshotsFolder

cypress/screenshots

截图文件存放路径,包含cy.screenshot()命令 和 cypress run测试失败期间保存的屏幕截图

trashAssetsBeforeRuns

true

在通过cypress run运行测试之前,cypress是否会清除creenshotsFolder和videosFolder。

 

录制配置项

选项默认描述
trashAssetsBeforeRunstrue在通过cypress run运行测试之前,cypress是否会清除creenshotsFolder和videosFolder。
videoCompression32视频压缩的质量设置。禁用压缩或0到51之间的值可以为false,值越低质量越好。
videosFoldercypress/videos视频文件的路径,用于保存cypress run运行期间的视频。
videotruecypress是否捕捉通过cypress run运行测试的视频。
videoUploadOnPassestrueCypress是否将处理、压缩和上传视频到仪表盘,即使spec文件中的所有测试都通过了。这只适用于记录在仪表板上的运行。如果你只想在测试失败时上传spec文件的视频,请关闭此功能。

 

浏览器配置项

选项默认描述
chromeWebSecuritytrue是否启用Chrome网页安全性中same-origin policyinsecure mixed content
userAgentnull使你能够重写浏览器在所有请求头中发送的默认用户代理。服务器通常使用用户代理值来帮助识别操作系统、浏览器和浏览器版本。有关用户代理值的示例,请参见用户代理MDN文档
blacklistHostsnull要阻止流量的字符串或主机阵列。
modifyObstructiveCodetrueCypress是否会在.js或.html文件中搜索并替换阻塞的JS代码。有关此设置的更多信息,请阅读注解。

 

视窗配置项

选项默认描述
viewportHeight660测试视窗下应用程序的默认高度(以像素为单位,使用cy.viewport()命令覆盖)。
viewportWidth1000测试视窗下应用程序的默认宽度(以像素为单位,使用cy.viewport()命令覆盖)。

 

动画配置项

选项默认描述
animationDistanceThreshold5元素必须超过的指定像素距离才能被视为动画
waitForAnimationstrue是否在执行命令之前等待元素完成动画

 

命令行设置

当在cmd窗口以命令行运行Cypress时你可以传递一个 --config标志。

cypress open --config watchForFileChanges=false,waitForAnimations=false
cypress run --config integrationFolder=tests,fixturesFolder=false
cypress run --record --config viewportWidth=1280,viewportHeight=720

 

环境变量设置

还可以使用环境变量重写配置值。这在持续集成或在本地工作时特别有用。这使你能够在不修改任何代码或构建脚本的情况下更改配置选项。

默认情况下,任何与相应配置键匹配的环境变量都将重写cypress.json的值。

export CYPRESS_VIEWPORT_WIDTH=800
export CYPRESS_VIEWPORT_HEIGHT=600

我们自动对键和值进行标准化。Cypress将剥去CYPRESS_, 驼峰命名任意键,并自动将值转换为NumberBoolean。确保你的环境变量前缀为CYPRESS_,否则它们将被忽略。

下面的两个选项都是有效的,且效果相同:

export CYPRESS_pageLoadTimeout=100000
export CYPRESS_PAGE_LOAD_TIMEOUT=100000

Cypress.config()

还可以使用Cypress.config()重写测试中的配置值。

作用域

使用Cypress.config的配置集只在当前spec文件的作用域内。

Cypress.config('pageLoadTimeout', 100000)

Cypress.config('pageLoadTimeout') // => 100000

 

解析配置

当你打开Cypress项目时,单击设置选项卡将向你显示已解析的配置。这使得理解和查看不同的值从何而来变得很容易。


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值