首页 > 解决方案 > 如何轮询特定时间间隔的请求并确定通过或失败

问题描述

我的 API 请求如下:

* def reqCreate =  read('classpath:integration/create-request.json')

* def resCreate = read('classpath:integration/create-response.json')

* def personId = 12



 Given path '/person/' + personId
        And header Authorization = 'Bearer ' + accessToken
        When method get
        Then status 200
        Then match response == resCreate

我需要每隔 5 秒检查一次响应,直到一分钟。在一分钟内或直到一分钟的任何时刻,如果响应断言为真,则最终结果为真,否则在指定持续时间后应返回假。

标签: cucumberkarate

解决方案


这在文档中有清楚的解释:https ://github.com/intuit/karate#retry-until

* configure retry = { count: 12, interval: 5000 }
Given url demoBaseUrl
And path 'greeting'
And retry until response.id > 3
When method get
Then status 200

在你的情况下:

Given path '/person/' + personId
And configure retry = { count: 12, interval: 5000 }
And header Authorization = 'Bearer ' + accessToken
And retry until response == resCreate
When method get
Then status 200

请不要忘记将您之前的问题标记为已回答,您还有一些问题未解决。


推荐阅读