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
相关产品推荐
相关产品推荐

