如何使用空手道验证非JSON响应主体

时间:2019-08-06 09:27:49

标签: api cucumber karate

我正在尝试验证非json格式的错误响应正文。我尝试使用架构以及使用包含匹配的关键字。它对我不起作用。

在帖子调用中发现多个匹配项时,从API返回的实际响应响应:

{"error":{"text":SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'NewEmp' for key 'employee_name_unique'}}

我的空手道特征:

Given url 'http://dummy.restapiexample.com/api/v1/create'
def errResp = "error"  
And request {"name":"Hello1","salary":"123","age":"23"}
When method POST
Then status 200
Then match $ contains error #not working
Then match $ contains errResp #not working

尝试过*也与https://gist.github.com/ptrthomas/2a1e30bcb4d782279019b3d5c10b3ed1中的实际值[0] =='#(^ partSchema)'相匹配。不起作用

1 个答案:

答案 0 :(得分:0)

请先了解类型转换:https://github.com/intuit/karate#type-conversion

然后将响应转换为字符串,然后再执行 string 包含检查的操作:

* string temp = response
* match temp contains 'error'