Перейти к содержимому

Фотография

Как правильно описывать в тесткейсах адрес к элементам в XML файлах

тесткейс xml теги

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 lokon

lokon

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 05 октября 2016 - 14:23

У меня есть ответ в виде XML:

<env:Envelope>
   <nv:Header/>
   <nv:Body>
      <sam:searchResponse>
         <sam:searchResponseContent>
            <item>
               <id>Item 1</id>
               <description>Box of candies</description>
               <price>1.50</price>
            </item>
            <item>
               <id>Item 2</id>
               <description>Box of fruits</description>
               <price>1.99</price>
            </item>
         </sam:searchResponseContent>
      </sam:searchResponse>
   </nv:Body>
</nv:Envelope>

 

 

Коллеги, посоветуйте пожалуйста, как мне правильно описать проверку, что description для "Item 1" - "Box of candies"?
Т.е. я не знаю, как правильно описать путь, по которому находится тег <description> 
Я описал так:
"Verifying, that response contains text "Box of candies" in tag <description> for "item 1""
Но мне кажется это недостаточно формальное описание, где искать в ответе этот <description>.

  • 0

#2 aviskase

aviskase

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Багрий Юлия


Отправлено 05 октября 2016 - 15:05

Но мне кажется это недостаточно формальное описание, где искать в ответе этот <description>.

 

 

Если вам нужно именно формальное описание "где" --- дайте описание в виде XPath. Его можно составить по-разному, например, первое что пришло в голову:

//*:searchResponse/*:searchResponseContent/*:item/*:description

Можно конечно и подробнее указать namespace-ы. А можно наоборот сократить до //*:item//*:description . Главное что бы в контексте проверки было понятно и однозначно. Также XPath можно указать и для тега <id> , что бы показать, что именно должно быть "item "1""


  • 1

#3 lokon

lokon

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 05 октября 2016 - 15:20

спасибо за ответ


  • 0

#4 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 05 октября 2016 - 15:33

Также XPath можно указать и для тега <id> , что бы показать, что именно должно быть "item "1""

 

 

Тут скорее нужно, а не можно.

Т.е. для Item 1 (Xpath к id) получаем Box of candies (Xpath к description)

 

 

Но очень-очень важно стараться писать короткие Xpath, но чтобы они однозначно идентифицировали элемент


  • 2

#5 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 05 октября 2016 - 15:58

тест может быть такой:

 

1. найти элемент с путём //sam:searchResponse/sam:searchResponseContent/item, у которого дочерний элемент <id> равняется "Item 1"

2. проверить что у найденного элемента "item" дочерний элемент <description> равен "Box of candies"

 

в нотации икспаф будет вроде:

//env:Envelope/nv:Body/sam:searchResponse/sam:searchResponseContent/item[id="Item 1"]/description


  • 1

#6 lokon

lokon

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 07 октября 2016 - 05:10

всем спасибо


  • 0



Темы с аналогичным тегами тесткейс, xml, теги

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных