在 NightwatchJS 中,我如何进行同步数据库调用并让 Nightwatch 在继续之前等待响应

In NightwatchJS how do I make a synchronous DB call and make Nightwatch wait for the response before moving on

我有一个 NightwatchJS 测试,需要先完成 MSSQL 数据库调用,然后才能继续验证该数据库调用的结果。测试分为 2 个部分。

第 1 部分填写表格并将其提交到我们的网站,并通过我们的 CMS 中的 API 验证表格是否已成功发布,并将 Guid 保存在另一个专门用于 Nightwatch 的数据库中的 table 中稍后测试验证。

第 2 部分在当天晚些时候运行,以允许另一个内部流程 'ingest' 形成不同部门的数据库,并且 return 将该表格的摄取结果输入到我们的 CMS 中。第 2 部分然后需要对 Nightwatch 数据库执行 Db 查找并获取过去 24 小时内发生的所有 Guid 并点击我们 CMS 中的另一个 API 端点以通过检查其他部门的流程在摄取时更新的字段。

我遇到了与 API 调用相同的等待完成问题,我需要 NightwatchJS 等待 API 调用完成以便在断言中使用结果。为了解决这个问题,我使用了一个名为 'sync-request' 的同步 http 库。所以,那部分工作正常。

但是,我似乎找不到适用于 Nightwatch 世界的同步 Db 库。

我目前正在使用 'tedious' 作为我的数据库库,但没有等待机制。我尝试了 promises 和 async/await 无济于事,因为异步内容被包装在库中。

我尝试了 Co-mssql 但我一直收到错误消息

TypeError: co(...) is not a function

使用他们的确切示例代码...

有什么想法或建议吗?

任何其他在 NightwatchJS 中工作的同步 MSSQL 库?

使用'tedious'的任何方式都是确保等待能力的时尚?

我找到了一个名为 sync-request 的库,它阻塞了我需要的线程。