我试图通过仅检查某些元素来对json对象使用匹配项。 Json对象包含一个嵌套数组,这似乎是测试失败的根本原因。似乎对key ::嵌套数组中的值使用'match contains'断言似乎无法按预期工作,并引发错误。
我尝试在第一级键上使用“匹配包含”,效果很好,但是在尝试匹配嵌套数组中的键时,出现以下错误消息:原因:实际值比键多1个预期
* def json = { id: 1, priority: 1, compRound: { id: 1, comp_id: 89 } }
* match json contains
"""
{
id: '#number',
priority: '#number',
compRound: {
id: '#number'
}
}
"""
当我使用match contains
断言时,我希望测试能够通过,但看起来空手道希望嵌套数组中的所有key:values都存在。
答案 0 :(得分:1)
请仔细阅读文档的这一部分:https://github.com/intuit/karate#contains-short-cuts
element(by.id('login').click()).then(function(){
const EC = protractor.ExpectedConditions;
// Waits max. 5 seconds for the input field to become clickable
browser.wait(EC.elementToBeClickable(element(by.id('username')), 5000);
element(by.id('username')).sendKeys('admin');
...
});