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

Фотография

Как тестировать если у элементов страницы каждый раз разный ID

selenium uuid

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

#1 missial

missial

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Алексеев Пётр Геннадьевич

Отправлено 02 мая 2014 - 20:40

В тестировании совсем недавно. Начали новый проект. Необходимо протестировать web интерфейс. Казалось selenium для этого идеально подходит. Посмотрел видео, почитал туториалы. Решил попробовать написать пару тестов и столкнулся с тем, что в качестве id у элементов страницы используются uuid. Как можно решить возникшую проблему?


  • 0

#2 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 02 мая 2014 - 21:33

В тестировании совсем недавно. Начали новый проект. Необходимо протестировать web интерфейс. Казалось selenium для этого идеально подходит. Посмотрел видео, почитал туториалы. Решил попробовать написать пару тестов и столкнулся с тем, что в качестве id у элементов страницы используются uuid. Как можно решить возникшую проблему?

Использовать другие локаторы для определения XPATH.
Погуглите и изучите сначала, что такое XPATH, нажмите в браузере кнопку F12 и посмотрите исходный код страницы - это поможет определиться с выбором уникальных параметров.
  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#3 missial

missial

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Алексеев Пётр Геннадьевич

Отправлено 12 мая 2014 - 07:58

 

В тестировании совсем недавно. Начали новый проект. Необходимо протестировать web интерфейс. Казалось selenium для этого идеально подходит. Посмотрел видео, почитал туториалы. Решил попробовать написать пару тестов и столкнулся с тем, что в качестве id у элементов страницы используются uuid. Как можно решить возникшую проблему?

Использовать другие локаторы для определения XPATH.
Погуглите и изучите сначала, что такое XPATH, нажмите в браузере кнопку F12 и посмотрите исходный код страницы - это поможет определиться с выбором уникальных параметров.

 

Спасибо! Получилось!

 

Столкнулся еще с 1 проблемой:

Есть элемент страницы:

<button class="btn btn-primary c857ad62-8a44-47d1-8b73-139988104792-siteSelect-StationListElements" style="" type="submit">Выбрать</button>

Как мне научить селениум находить и кликать по этой кнопке, используя часть описания класса. Т.е чтоб он нашел "btn btn-primary", если нашел, то пусть кликает


  • 0

#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 12 мая 2014 - 08:13

лучше что-то типа того:

button[type="submit"]   - css

или

//button[.='Выбрать']  - xpath


  • 1

#5 Master_lomaster

Master_lomaster

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

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

Отправлено 12 мая 2014 - 08:25

Уже где-то прикладывала, но уж очень полезная штука)

Прикрепленный файл  Locators_table_1_0_2.pdf   1,38МБ   67 Количество загрузок:

 


  • 2

#6 leftCh

leftCh

    Постоянный участник

  • Members
  • PipPipPip
  • 179 сообщений

Отправлено 13 мая 2014 - 10:00

Автор, у вас похоже сенча ExtJS? Если так, то единственный работающий всегда способ - это выполнять на текущей версии кусок javascript кода (execute script), который будет выдавать id элемента по каким-либо внутренним сенчевским параметрам. Все остальное грабли и костыли


  • 0

#7 missial

missial

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Алексеев Пётр Геннадьевич

Отправлено 14 мая 2014 - 07:15

Наверно стоит так сделать..Но я совсем не понимаю как мне выполнять этот скрипт? Есть где-нибудь туториал по работе в Selenium через javascript?

 

Вот кусок кода

 
<li class="dropdown open">

<a class="dropdown-toggle active" data-toggle="dropdown" href="#">
Настройки 
<b class="caret"></b>
</a>

<ul class="dropdown-menu">

<li>
<a onclick="new localSettings_GuiElement('gui-template-row-id');" href="#">Локальные настройки</a>
</li>


</ul>
</li>

Пользователь кликает кнопку Настройки, далее выпадает список и кликает "Локальные настройки". Как это выполнить через execute script?


  • 0

#8 missial

missial

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Алексеев Пётр Геннадьевич

Отправлено 14 мая 2014 - 07:25

Нашел. Python:

driver.execute_script("new localSettings_GuiElement('gui-template-row-id');")

Пример в теме: http://software-test...ipolnit-js-kod/


  • 0

#9 missial

missial

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Алексеев Пётр Геннадьевич

Отправлено 14 мая 2014 - 07:35

Снова вопрос. Как мне узнать, что  нажатие на кнопку сработало верно? Например если я напишу так,

driver.execute_script("new localSettings_GuiElement('gui-template-CLKJLKJLKJL-id');")

то selenium ничего не скажет об ошибке, просто завершит работу с корректным результатом, кнопка не нажмётся....


  • 0

#10 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 14 мая 2014 - 07:49

Найти на странице результат нажатия на кнопку.


  • 1



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

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

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