cucumber - 如何轮询特定时间间隔的请求并确定通过或失败
问题描述
我的 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 秒检查一次响应,直到一分钟。在一分钟内或直到一分钟的任何时刻,如果响应断言为真,则最终结果为真,否则在指定持续时间后应返回假。
解决方案
这在文档中有清楚的解释: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
请不要忘记将您之前的问题标记为已回答,您还有一些问题未解决。
推荐阅读
- mapbox - 将点(或 PointLike)转换为 LngLat 对象
- javascript - 创建基于 Express 的服务器时未找到 server.html
- android - 使用 React Native 在 android 中选择 .png 图像时始终显示黑色背景
- python - CNN框不能超过原始图像尺寸错误
- javascript - 无法在 React.js 中使用 useState 进行渲染
- javascript - 如何在使用 JavaScript 保存图像的同时清除图像?
- flutter - 我如何存储到列表和地图?
- flutter - 为什么设置器的值是用 = 而不是通过 ( )
- javascript - workbox默认检测无网络或离线并刷新页面?
- vuejs2 - vue-infinite-loading 未检测到结束并进行加载