Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

изменения параметров XPATH


(Евкисий) #1

Коллеги, столкнулся с проблемой. Реализовали криво soap сервис, проблема что надо поправить запрос, в части xpath'a

надо сделать асершен что нить типа:

assert holder["exists(//cli:getCUIDByAccountResponse[1]/cli:cUIDContainer[1]/cma:cUID[1]/text())"] == "true", "Поле cuId в ответе осстутствует."

 

но данный xpath в реализации запроса и ответа не является обязательным, т.е. я получаю какую то фигню... решение есть скидывать в локальный файл и править нужные секции - неудобно и не правильно. Вопрос, как стандартными средствами поменять xpath в теле xml или как можно обойти что бы xpath не использовать, т.е. надо для запроса setCustomerDataQuick до элемента cuid составить XPath.


<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:header xmlns="
http://xxx/service/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:h="http://xxx/service/types">
<systemCode>OTHER</systemCode>
<userId/><transactionId/><componentId>UFO</componentId>
</h:header>
<WSCorIDSOAPHeader CorID="....." xmlns="
http://www.wilytech.com/"/>
</s:Header>
<s:Body xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<setCustomerDataQuick xmlns="
http://xxx/CustomerWS/">
<idUser>1</idUser>
<customer>
<codeWord xmlns="
http://xxxx/customer">
<value>абырвалг</value>
</codeWord>
<cuid xmlns="
http://xxx/cif/ws/ru/customer"/>


(Taras) #2

напишите парсер на Java для xml, просто будете дергать значение по названию атрибута.

Я так понимаю cuid возвражаеться без value ?


(Mykhailo Poliarush) #3

еще раз по задаче, надо проверить, что элемент присутствует или что в элементе есть текст?

и напииште, что Вы "за фигню" получаете обратно, надо хотя бы на нее посмотреть