Оценка выражений XPath в WiremockJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Оценка выражений XPath в Wiremock

Сообщение Anonymous »

Я использую Wiremock для тестирования и столкнулся с описанной ниже проблемой.

Есть 2 сценария
  • Когда будет поступать запрос, как показано ниже

Код: Выделить всё

Element A
123

Здесь нам нужно только проверить, что значение элемента B должно быть 123.
  • Когда будет поступать запрос, как показано ниже

Код: Выделить всё

Element A
123

Здесь нам нужно проверить, что значение элемента B должно быть 123, а значение flag также должно быть истинным.

Теперь я хочу, чтобы мой Wiremock возвращал разные ответы в обоих случаях, и мои файлы конфигурации Wiremock выглядят примерно так.
  • Для случая 1

Код: Выделить всё

{
"request": {
"url": "/",
"method": "POST",
"bodyPatterns": [
{
"matchesXPath": {
"expression": "//ElementB/text()",
"contains": "123"
}

},{
"absent": {
"expression":  "//ElementA[@flag=true]"
}
}
]
},
"response": {
"status": 200,
"bodyFileName": "someFile.xml",
"headers": {
"Content-Type": "text/xml; charset=utf-8"
}
}
}

Но здесь он принимает только отсутствие как истинное, а другой элемент не приходит.
Пример из Wiremock:

Код: Выделить всё

  "bodyPatterns" : [ {
"matchesXPath" : {
"expression" : "//ElementA/text()",
"contains" : "123"
}
}, {
"absent" : true
} ]
  • Для случая 2

Код: Выделить всё

{
"request": {
"url": "/",
"method": "POST",
"bodyPatterns": [
{
"matchesXPath": {
"expression": "//ElementB[text()='123']"

},
"matchesXPath": {
"expression": "//ElementA[@flag]",
"contains": "true"
}
}
]
},
"response": {
"status": 200,
"bodyFileName": "someotherFile.xml",
"headers": {
"Content-Type": "text/xml; charset=utf-8"
}
}
}

Но почему-то он не может вернуть ответ в случае 1, а в случае 2 он не заботится о первом условии, он только проверяет, истинно ли значение флага .

Будем благодарны за любую помощь/подсказки по этому поводу.>

Подробнее здесь: https://stackoverflow.com/questions/617 ... n-wiremock
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»