在cucumberjs中等待/接收外部Web服务请求

问题描述 投票:0回答:1

我想我只需要一个正确方向的指针。

我正在测试应用程序服务器(通过其REST API)。我正在使用Cucumingjs

[当我调用特定方法时,一段时间后,应用程序将向URL发送通知。该URL是可配置的,但只能在应用程序设置中-即,我无法为每次调用提供回调URL。

在测试步骤中,我需要等待(并接收)该通知,并从请求正文中提取一些数据以用于以后的步骤。

我该如何处理?我想我可以为每种情况设置一个Web服务器,将其传递给我的World对象的引用,并使用通知的详细信息在那里更新某些内容(可以将应用程序设置配置为指向我的测试应用程序)。

但是我如何等待(有超时)接收通知?

(想法,以及我应该找到的指向文档的指针,对node.js包的建议,等等,都欢迎)

javascript node.js web-services callback cucumberjs
1个回答
0
投票

我正在执行类似的测试,在这种情况下,我需要在可能的系统中触发某些东西,然后等待某些行为发生。为了实现此目的,我使用promise-retry NPM package进行轮询(需要时),然后将CucumberJS中的默认超时配置为高于正常值(通常为60秒左右)。我还使用config使所有这些时序配置更易于管理。

关于与系统的交互方式,取决于系统的类型。如果您使用的是Azure,AWS或Firebase,则提供它们提供的API客户端。否则,我建议使用基于承诺的HTTP客户端,例如flashheartaxiossuperagent。 CucumberJS本身不提供这些功能,但是很容易引入其他模块供CucumberJS集成。

© www.soinside.com 2019 - 2024. All rights reserved.