"OR" headers 在 Rest-assured 中的条件?

"OR" condition for headers in Rest-assured?

我的 API returns 状态 header 可以是 "pending", "done".

对于 status = "done" 它还添加了两个额外的 header.

我想做一个 (Rest-assured) 测试,如果任一状态 header 是 "pending" 并且另外两个 header 是空的 OR 如果状态 header 是 "done" 并且存在另外两个 header。

我没办法做到这一点。看起来"OR"条件都不可以?

注意:无法强制 "pending" 或 "done" 状态,因为它取决于外部超时。

您可以通过使用 Response class 提取 header 值并验证它来解决此问题。像这样(请调整):

Response response = given().when().get("yourapiurl.com/something");
string header = response.getHeader("statusHeaderName");

Assert.assertTrue(header.equals("pending") || header.equals("done"));