空手道中每个元素的匹配字符串 json 数组响应
Match String json array response for each element in Karate
我有一个 api which returns string json 数组响应如下。响应中还有其他元素。
"contacts": [
"externaldeveloper1@exampledomain.com",
"externa2developer1@exampledomain.com"
]
现在我需要匹配这个数组中的每个元素来检查它的值。
在功能文件中:
When method POST
Then status 200
* match response.contacts contains ['externaldeveloper1@exampledomain.com', externa2developer1@exampledomain.com]
但是出现语法错误:
match response.contacts contains ['externaldeveloper1@exampledomain.com', externa2developer1@exampledomain.com]
连我都在做
assert response.contacts.[0] == 'externaldeveloper1@exampledomain.com'
这也失败了。有帮助吗?
适合我。你一定有什么错别字或基本错误。
* def response = { "contacts": [ "externaldeveloper1@exampledomain.com", "externa2developer1@exampledomain.com" ] }
* match response.contacts contains [ 'externaldeveloper1@exampledomain.com', 'externa2developer1@exampledomain.com' ]
* match response.contacts[1] == 'externa2developer1@exampledomain.com'
如果你的空手道代码
When method POST
Then status 200
* match response.contacts contains ['externaldeveloper1@exampledomain.com', externa2developer1@exampledomain.com]
和你测试用的一样,那么语法错误是你忘了把第二封邮件用引号引起来
正确:
When method POST
Then status 200
* match response.contacts contains ['externaldeveloper1@exampledomain.com', 'externa2developer1@exampledomain.com']
原因
* assert response.contacts.[0] == 'externaldeveloper1@exampledomain.com'
失败很简单。 contacts
后面的点太多了。
正确:
* assert response.contacts[0] == 'externaldeveloper1@exampledomain.com'
我有一个 api which returns string json 数组响应如下。响应中还有其他元素。
"contacts": [
"externaldeveloper1@exampledomain.com",
"externa2developer1@exampledomain.com"
]
现在我需要匹配这个数组中的每个元素来检查它的值。
在功能文件中:
When method POST
Then status 200
* match response.contacts contains ['externaldeveloper1@exampledomain.com', externa2developer1@exampledomain.com]
但是出现语法错误:
match response.contacts contains ['externaldeveloper1@exampledomain.com', externa2developer1@exampledomain.com]
连我都在做
assert response.contacts.[0] == 'externaldeveloper1@exampledomain.com'
这也失败了。有帮助吗?
适合我。你一定有什么错别字或基本错误。
* def response = { "contacts": [ "externaldeveloper1@exampledomain.com", "externa2developer1@exampledomain.com" ] }
* match response.contacts contains [ 'externaldeveloper1@exampledomain.com', 'externa2developer1@exampledomain.com' ]
* match response.contacts[1] == 'externa2developer1@exampledomain.com'
如果你的空手道代码
When method POST
Then status 200
* match response.contacts contains ['externaldeveloper1@exampledomain.com', externa2developer1@exampledomain.com]
和你测试用的一样,那么语法错误是你忘了把第二封邮件用引号引起来
正确:
When method POST
Then status 200
* match response.contacts contains ['externaldeveloper1@exampledomain.com', 'externa2developer1@exampledomain.com']
原因
* assert response.contacts.[0] == 'externaldeveloper1@exampledomain.com'
失败很简单。 contacts
后面的点太多了。
正确:
* assert response.contacts[0] == 'externaldeveloper1@exampledomain.com'