参考: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
}
}
全局配置项
选项 | 默认 | 描述 |
---|---|---|
|
| url用作cy.visit() 或cy.request() 命令的url前缀 |
|
| 设置任意环境变量。 |
|
| 用于忽略测试文件的字符串或数组的glob模式,否则这些测试文件将显示在测试列表中。(暂未用到) |
|
| 快照和命令数据将保存在内存中的测试数量。如果在测试运行期间浏览器的内存消耗很高,请减少这个数字。 |
|
| 用于托管cypress的端口。通常这是一个随机生成的端口。 |
|
| 使用 |
|
| 使用的报告生成器选项。所支持的选项取决于报告生成器。 |
|
| 要加载的测试文件的String glob模式。 |
|
| Cypress是否会在测试文件更改时监视并重新启动测试 |
超时配置项
选项 | 默认 | 描述 |
---|---|---|
|
| 基于默认DOM命令的超时时间(以毫秒为单位) |
|
|
|
|
|
|
|
| 等待页面加载完成的超时时间(以毫秒为单位)。包括命令: |
|
| 等待请求完成的超时时间(以毫秒为单位)。包括命令: |
|
| 等待响应完成的超时时间(以毫秒为单位)。包括命令:
|
文件路径配置项
选项 | 默认 | 描述 |
---|---|---|
| cypress | 根项目文件夹 |
|
| 包含集成测试配置文件的路径(通过 |
|
| 包含集成测试文件的路径 |
|
| 插件文件的路径(通过 |
|
| 截图文件的路径,包含 |
|
| 在加载测试文件之前加载文件的路径(通过 |
|
| 视频文件的路径,用于保存 |
截图配置项
选项 | 默认 | 描述 |
---|---|---|
|
| 截图文件存放路径,包含 |
|
| 在通过cypress run运行测试之前,cypress是否会清除creenshotsFolder和videosFolder。 |
录制配置项
选项 | 默认 | 描述 |
---|---|---|
trashAssetsBeforeRuns | true | 在通过cypress run运行测试之前,cypress是否会清除creenshotsFolder和videosFolder。 |
videoCompression | 32 | 视频压缩的质量设置。禁用压缩或0到51之间的值可以为false,值越低质量越好。 |
videosFolder | cypress/videos | 视频文件的路径,用于保存cypress run运行期间的 视频。 |
video | true | cypress是否捕捉通过cypress run运行测试的视频。 |
videoUploadOnPasses | true | Cypress是否将处理、压缩和上传视频到仪表盘,即使spec文件中的所有测试都通过了。这只适用于记录在仪表板上的运行。如果你只想在测试失败时上传spec文件的视频,请关闭此功能。 |
浏览器配置项
选项 | 默认 | 描述 |
---|---|---|
chromeWebSecurity | true | 是否启用Chrome网页安全性中same-origin policy 和insecure mixed content 。 |
userAgent | null | 使你能够重写浏览器在所有请求头中发送的默认用户代理。服务器通常使用用户代理值来帮助识别操作系统、浏览器和浏览器版本。有关用户代理值的示例,请参见用户代理MDN文档。 |
blacklistHosts | null | 要阻止流量的字符串或主机阵列。 |
modifyObstructiveCode | true | Cypress是否会在.js或.html文件中搜索并替换阻塞的JS代码。有关此设置的更多信息,请阅读注解。 |
视窗配置项
选项 | 默认 | 描述 |
---|---|---|
viewportHeight | 660 | 测试视窗下应用程序的默认高度(以像素为单位,使用cy.viewport() 命令覆盖)。 |
viewportWidth | 1000 | 测试视窗下应用程序的默认宽度(以像素为单位,使用cy.viewport() 命令覆盖)。 |
动画配置项
选项 | 默认 | 描述 |
---|---|---|
animationDistanceThreshold | 5 | 元素必须超过的指定像素距离才能被视为动画 |
waitForAnimations | true | 是否在执行命令之前等待元素完成动画 |
命令行设置
当在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_
, 驼峰命名任意键,并自动将值转换为Number
或Boolean
。确保你的环境变量前缀为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项目时,单击设置选项卡将向你显示已解析的配置。这使得理解和查看不同的值从何而来变得很容易。