空手道框架如何在我的测试中使用重试直到时获取重试计数

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

我面临这样一种情况,我想在单个 GET 调用中检查三个不同的断言。但所有这些都必须在规定的时间内完成。 示例: 假设进行了 GET 调用,并且相同的 GET 调用必须重试 20 次,睡眠间隔为 6000 毫秒。

场景

  1. 检查响应码是否为200。如果没有中断并停止执行。否则继续下一步检查。
  2. 检查某个对象值是否不等于“test1”或“test2”。如果 value 等于其中之一,则中断并停止执行。否则继续检查下一个断言。
  3. 重试,直到获得与“expected_status”相同的对象值。如果在最大重试次数后仍未获得对象值,则测试失败。如果没有通过测试。

我解决这个问题的方法是通过将断言(2)和(3)拆分为不同的场景来以不同的方式更改重试计数,并动态更改重试计数。有没有办法获取上一个场景的重试次数?

karate
1个回答
0
投票

不,无法从之前的场景中获取重试计数。您可以尝试在重试函数中更新场景变量。

对于如此详细的需求,我认为最好的办法是编写自己的代码来进行轮询。

可以在此处找到 JavaScript 示例。

请记住,Karate 的 Java 互操作意味着,如果您愿意用 Java 编写一些一次性逻辑,您就可以做任何您想做的事情。请参阅此 AWS DynamoDB 示例

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