我有一个 api,它返回字符串 json 数组作为响应,如下所示。响应中还有其他元素。
"contacts": [
"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4d283539283f232c2129283b2821223d283f7c0d28352c203d21282922202c2423632e2220" rel="noreferrer noopener nofollow">[email protected]</a>",
"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6104191504130f0053050417040d0e11041350210419000c110d04050e0c00080f4f020e0c" rel="noreferrer noopener nofollow">[email protected]</a>"
]
现在我需要匹配该数组中的每个元素以检查其值。
在功能文件中:
When method POST
Then status 200
* match response.contacts contains ['<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2f4a575b4a5d414e434b4a594a43405f4a5d1e6f4a574e425f434a4b40424e4641014c4042" rel="noreferrer noopener nofollow">[email protected]</a>', <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="76130e021304181744121300131a190613044736130e171b061a1312191b171f185815191b" rel="noreferrer noopener nofollow">[email protected]</a>]
但出现语法错误:
match response.contacts contains ['<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="42273a3627302c232e262734272e2d3227307302273a232f322e27262d2f232b2c6c212d2f" rel="noreferrer noopener nofollow">[email protected]</a>', <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="88edf0fcedfae6e9baecedfeede4e7f8edfab9c8edf0e9e5f8e4edece7e5e9e1e6a6ebe7e5" rel="noreferrer noopener nofollow">[email protected]</a>]
连我也在做
assert response.contacts.[0] == '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="22475a5647504c434e464754474e4d5247501362475a434f524e47464d4f434b4c0c414d4f" rel="noreferrer noopener nofollow">[email protected]</a>'
这也失败了。有什么帮助吗?
最佳答案
对我有用。您一定在某个地方有一些拼写错误或基本错误。
* def response = { "contacts": [ "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ea8f929e8f98848b868e8f9c8f86859a8f98dbaa8f928b879a868f8e85878b8384c4898587" rel="noreferrer noopener nofollow">[email protected]</a>", "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="caafb2beafb8a4abf8aeafbcafa6a5baafb8fb8aafb2aba7baa6afaea5a7aba3a4e4a9a5a7" rel="noreferrer noopener nofollow">[email protected]</a>" ] }
* match response.contacts contains [ '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="25405d5140574b444941405340494a5540571465405d4448554940414a48444c4b0b464a48" rel="noreferrer noopener nofollow">[email protected]</a>', '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="94f1ece0f1e6faf5a6f0f1e2f1f8fbe4f1e6a5d4f1ecf5f9e4f8f1f0fbf9f5fdfabaf7fbf9" rel="noreferrer noopener nofollow">[email protected]</a>' ]
* match response.contacts[1] == '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ea8f929e8f98848bd88e8f9c8f86859a8f98dbaa8f928b879a868f8e85878b8384c4898587" rel="noreferrer noopener nofollow">[email protected]</a>'
关于java - 匹配 Karate 中每个元素的字符串 json 数组响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59677251/