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

Фотография

Метод StoreXpathCount всегда возвращает 0

selenium ide xpath

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

#1 shu_al

shu_al

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Shulyak Aleksandr

Отправлено 19 июня 2015 - 16:31

Не могу разобраться с методом StoreXpathCount.

Пытаюсь посчитать кол-во дочерних элементов у класса "buyer-adults".

Если использую родную функцию xpath  - count(//div[@class='buyer-adults']/div), возвращается правильное кол-во, в данном случае 2.
Но сохранить в переменную значение функции xpath, ide не может.
 
Если же я пытаюсь выполнить метод StoreXpathCount  //div[@class='buyer-adults']/div, считать ide элементы отказывается и возвращает 0.
 
Видимо есть какие-то тонкости в работе с ним.
Перелопатил сеть, но все что нашел, совершенно не объясняет этой загвоздки.
 
Собственно сам код:

<html id="frame-popup" class=" browser-mozilla version-38 platform-windows mozilla-38 ">
<head>
<body>
  <div id="popup" style="display: none; padding: 100px 0; width: 940px; margin: 0px auto;">
    <div id="container" style="display: none; opacity: 1;">
      <div id="logger-button" style="display: none;">
      <div id="card" data-country-id-request="40" data-offer-id-request="92130894" data-source-id-request="321963158" data-request-id-request="1216678245">
         <div id="content">
           <div class="card-head selectable">
           <div class="card-content selectable">
              <div class="column-card-left">
              <div class="column-card-right">
                <div id="tour-header">
                <div class="left-box">
                  <div id="price-checked-online" style="display:none;">Цена проверена онлайн</div>
                <div id="tour-properties-payment">
                  <br clear="all"/>
                <div class="hotel-info show">
                <div id="payment-menu" class="card">
                   <div class="tour-options">
                   <div id="form-card">
                      <form id="buying" autocomplete="off" action="javascript: void(0);">
                      <div class="buy-office-application">
                         <div class="buy-office-application-head">Покупка тура online</div>
                         <div class="buy-office-application-body">
                           <h3>Взрослые</h3>
                           <div class="buyer-adults">
                               <div class="buyer-person field-set-container" data-field-type="claim-person" data-field-name="adult-0">
                               <div class="buyer-person field-set-container" data-field-type="claim-person" data-field-name="adult-1">
                           </div>
                           <h3>Информация о заказчике</h3>
                           <div id="buyer-info">
                           <h3>Комментарий</h3>
                           <label class="buyer-comment field-container"> 
                           <div id="payment-options"/>
                         </div>
                     <div class="buy-office-application-footer">
                     <div class="order-successfully-created" style="display: none">
                   </div>
                 </form>
               </div>
             <div id="form-order">
           </div>
      </div>
    </div>
     </div>
    <a class="popup-close" href="javascript: void(0);"/>
</div>
<div id="datepicker"/>
</div>
</div>
</body>
</html>
  • 0

#2 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 20 июня 2015 - 14:11

У меня данная команда работает.

Можете привести пример команды в сценарии?


  • 0

#3 shu_al

shu_al

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Shulyak Aleksandr

Отправлено 22 июня 2015 - 08:38

У меня данная команда работает.
Можете привести пример команды в сценарии?


Извиняюсь.Не полностью скопировал код, отсюда не корректная структура.
Но в таком виде действительно ide считает элементы. Я подозреваю? что моя проблема в том, что это попап фрейм и открывается из другого фрейма, поэтому он мне всегда возвращает 0.

Но как его заставить смотреть именно в попап, я пока не придумал.

В первоначальном на весь код виде можно взглянуть http://sletat.ru/sea...34286&town=1642

 

Тест кейс выполняется в карточку тура, оплата онлайн.  

Это и есть пример команды -  StoreXpathCount  //div[@class='buyer-adults']/div

Моя цель посчитать сколько на странице взрослых туристов.


  • 0

#4 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 22 июня 2015 - 10:33

Для этого нужно переключится во фрейм с помощью команды selectFrame(locator).

 

P.S. на всякий случай напоминаю, что команды пишутся с маленькой буквы - storeXpathCount


  • 0

#5 shu_al

shu_al

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

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Shulyak Aleksandr

Отправлено 22 июня 2015 - 12:36

Спасибо, уже сумел сам тоже разобрался, теперь считает.

Но появился другой вопрос, какие команды должны выполняться из фрейма, а какие нет? И в чем, собственно, разница.

Клики, ввод  текста в формы, чекбоксы, и прочее работало и по локаторам. 


  • 0

#6 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 23 июня 2015 - 08:56

Спасибо, уже сумел сам тоже разобрался, теперь считает.

Но появился другой вопрос, какие команды должны выполняться из фрейма, а какие нет? И в чем, собственно, разница.

Клики, ввод  текста в формы, чекбоксы, и прочее работало и по локаторам. 

Если я не ошибаюсь, то фрейм для Selenium IDE это почти тоже самое, что и новое окно. Поэтому, чтобы работать с элементами внутри фрейма нужно сначала переключится в него, а после - переключится снова в основной документ.


  • 0



Темы с аналогичным тегами selenium ide, xpath

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

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