将cy.sqlServer()Cypress命令从BrowserStack调用到内部数据库

ldxq2e6h  于 2022-09-18  发布在  Java
关注(0)|答案(1)|浏览(235)

我正在尝试在BrowserStack中运行Cypress的Web应用程序。我可以在本地成功地进行测试。当我尝试将它们上载到带有browserstack-cypress run的BrowserStack时,测试失败,原因是:

CypressError: `cy.task('sqlServer:execute')` failed with the following error:

> Failed to lookup instance on db.internalapps.lan - getaddrinfo ENOTFOUND db.internalapps.lan

问题是这些测试使用cypress-sql-server NPM包中的cy.sqlServer()命令来执行一些数据库设置,并且需要调用应用程序数据库。Web应用程序是面向公众的,所以我只需要在机器上本地执行这些SQL语句,以便它们访问该数据库。我已经设置了本地服务器代理,并在BrowserStack中验证了我上传的包是否在进行本地测试。

BrowserStack.json:

"connection_settings": {
    "local": true,
    "local-identifier": "MyLocalConnection01"
},
c9qzyr3d

c9qzyr3d1#

我读了您的查询,了解到您希望通过本地连接访问您网络后面的数据库。​因为您的数据库只能从内部网络访问,所以连接将不会发生,因为使用Local二进制文件时,只有HTTPS和Web套接字连接才可能通过Tcp进行,因为Local二进制文件在底层使用HTTP代理。

SQL服务器需要不同的协议,如sqlserver://或postgres://等,而BrowserStack Local二进制文件目前无法通过这些协议进行通信。因此,任何SQL协议都不会通过相同的方式工作。

如果您还有任何问题,我建议您联系他们的支持:https://www.browserstack.com/contact?ref=help#technical-support​

相关问题