Javascript 如何制作frisby.js脚本;暂停“;在API的链式执行期间

Javascript 如何制作frisby.js脚本;暂停“;在API的链式执行期间,javascript,node.js,angularjs,Javascript,Node.js,Angularjs,我想使用Frisby.js测试会话超时。因此,我想调用我们的登录API并调用API来演示用户已登录。 然后我希望frisby.js等待20分钟,等待会话超时,并验证是否由于会话超时而导致其他调用失败。如何使frisby.js脚本“sleep()”?使用超时: setTimeout(function(){ //do whatever after 20 minutes },1200000); //20 min = 1200000ms 使用setTimeout会导致expects

我想使用Frisby.js测试会话超时。因此,我想调用我们的登录API并调用API来演示用户已登录。 然后我希望frisby.js等待20分钟,等待会话超时,并验证是否由于会话超时而导致其他调用失败。如何使frisby.js脚本“sleep()”?

使用超时:

   setTimeout(function(){
    //do whatever after 20 minutes
   },1200000); //20 min = 1200000ms

使用setTimeout会导致expects未执行,如下所述:


我找到的最简单的方法是做一个.get to延迟3秒,然后在这个请求之后,你做你想做的事情。

结果是有一个未记录的
waits()
方法,它有效地告诉frisby睡觉

比如说,

frisby.create('Sleep test')
  .get('http://www.citibikenyc.com/stations/json')
  .expectStatus(200)
  .inspectJSON()
  .waits(5000)
.toss();

将在执行前等待5秒。

这可以工作,但并不十分优雅,特别是对于需要更频繁等待的大型测试