Как отстаивать подстроку в рамках каратэ - PullRequest
0 голосов
/ 28 августа 2018

Я получаю массив URL-адресов в ответ. Я хочу проверить, что каждый URL из массива содержит определенное слово. Как я могу проверить это в рамках каратэ? Мой ответ:

response {
  "docs":[{
         "url":"http://url/1.com"
         "title": "some title"
         },{
         "url":"http://url/2.com"
         "title":"ABC"
        }]
  }

}

Теперь я хочу проверить, что каждое значение поля URL содержит слово 'url'. Как я могу проверить это, так как match each $.response.docs.url contains 'url' не работает для меня.

1 Ответ

0 голосов
/ 28 августа 2018

Пожалуйста, обратитесь к синтаксису match each. Вот пример:

* def response = [ 'http://url-one.com', 'http://url-two.com', ]
* match each response contains 'url'

РЕДАКТИРОВАТЬ - после редактирования вопроса. Вот ваш рабочий пример:

* def response =
"""
{
   "docs":[
      {
         "url":"http://url/1.com",
         "title":"some title"
      },
      {
         "url":"http://url/2.com",
         "title":"ABC"
      }
   ]
}
"""
* def urls = $response.docs[*].url
* match each urls contains '/url/'
...