You need to enable JavaScript to run this app. Cypress使用cypress-sql-server连SQL Server自动追加1433端口,4400端口不生效如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Cypress使用cypress-sql-server连SQL Server自动追加1433端口,4400端口不生效如何解决

问题解决方法

问题根源

端口重复拼接问题是两个配置错误共同导致的:

  • server配置项填写了端口后缀,cypress-sql-server会把完整的server值当作主机地址处理,不会主动拆分出端口
  • 部分版本的cypress-sql-server不会读取db根节点的port参数,默认 fallback 到1433端口,最终拼接出错误的<network server>:4400:1433地址

调整步骤

1. 修改cypress.json配置

调整两个配置项:

  • 删除server字段后的:4400后缀,仅保留数据库服务器地址
  • 将port参数移入options对象内
    修改后的配置如下:
{
"db": {
        "server": "<network server>",
        "user": "<username>",
        "password": "<password>",
        "database": "<dbName>",
        "options": {
            "port": 4400,
            "enableArithAbort": true,
            "trustServerCertificate": true
        },
        "connectionTimeout": 150000,
        "pool": {
            "max": 10,
            "min": 0,
            "idleTimeoutMillis": 30000
        }
    }
}

2. 修正测试用例写法

cy.sqlServer是Cypress异步命令,不能直接赋值获取结果,需要用.then()回调接收返回值:

cy.sqlServer(query).then(result => {
  cy.log(result)
  // 后续对查询结果的处理都写在这个回调内
})

3. 重启Cypress生效

配置修改后需要完全退出Cypress窗口,重新执行cypress open/cypress run命令加载新配置即可正常连接。

内容的提问来源于stack exchange,提问作者Suraj Amrutkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 19:27:03