Варианты ответа в Response Assertion в JMeter


(freshment) #1

Уважаемые знатоки!

Тестирую Web-сервис:

В разделе Pattern Matching Rules стоит "Contains", а в качестве ответа на опр. XML в Response Assertion вставляю несколько вариантов: Rain (с новой строки) Sunny

Варианты ответа на запрос: Rain или Sunny т.е. логика должна быть: Rain OR Sunny
Т.е. если хоть один из вариантов попался, то true.
Пробовал Rain|Sunny - не подходит.

возвращается текст:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetWeatherResponse xmlns="http://litwinconsulting.com/webservices/"><GetWeatherResult>Rain</GetWeatherResult></GetWeatherResponse></soap:Body></soap:Envelope>

 

и в нем нужно найти Rain или Sunny соответственно. На сколько я понимаю это уже не Match, а Contains
в любом случае я опять получил на проверку (см. выше) ответ:

Assertion error: false
Assertion failure: true
Assertion failure message: Test failed: text expected to match /Rain|Sunny/

Подскажите пожалуйста!


(Ch00k) #2

Можно попробовать XPath Assertion вместе с XPath "|" (OR) оператором. Что-то типа

//GetWeatherResponse/GetWeatherResult[contains(text(), 'Rain')] | //GetWeatherResponse/GetWeatherResult[contains(text(), 'Sunny')]

(Kedanachi) #3

Contains делает проверку по регулярным выражениям. Для обычного текста необходимо использовать Substring


(Mykhailo Poliarush) #4

вы решили свою задачу?