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

Программирование на C# для тестировщиков
онлайн, начало 19 июля
Школа для начинающих тестировщиков
онлайн, начало 25 июля
Python для начинающих
онлайн, начало 26 июля
Автоматизация функционального тестирования
онлайн, начало 26 июля
Фотография

Selenium WebDriver - Не получается выбрать элемент в выпадающем меню

RobotFramework Selenium

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

#1 Kori

Kori

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Клочков Роман

Отправлено 20 Июнь 2019 - 14:31

Всем привет!

Столкнулся с проблемой пытаясь прокрутить выпадающий список. Точнее, не смог выбрать нужный элемент (например, год 2010)

Прикрепленный файл  table_2.png   24,51К   0 Количество загрузок:

код, который это реализует - 

<div class="v-menu__content menuable__content__active" style="min-width: 290px; top: 552px; left: 551px; transform-origin: left top; z-index: 204;">
	<div class="v-picker v-card v-picker--date">
		<div class="v-picker__body" style="width: 290px;">
			<div>
				<ul class="v-date-picker-years">
					<li class="">2029</li>
					<li class="">2028</li>
					...
					<li class="">2000</li>
				</ul>
			</div>
		</div>
	</div>
</div>

RobotFramework категорически отказывается скролить и кликать в нужный элемент, какой способ указания элемента не выбери - в RF не работает ни один из

Click Element //div[@id='app']/div/div/div/div/ul/li[20]
Click Element //li[contains(.,'2010')]
Click Element css=li:nth-child(20)

В каком-то случае ругается что 

ElementNotVisibleException: Message: element not interactable
в другом - 
ElementClickInterceptedException: Message: element click intercepted: Element <input aria-label="Год" readonly="readonly" type="text"> is not clickable at point (840, 535). Other element would receive the click: <div class="v-li
st__tile__content">...</div>

Когда пишет что "точка клика перекрыта" я конечно верю:

Прикрепленный файл  table_4.png   89,86К   0 Количество загрузок:

Команда Scroll Element Into View отлично работающая в обычных "выпадашках" тут ничего не скролит.

 

В Selenium IDE те же самые локаторы отлично работают: 

Прикрепленный файл  ide.png   9,02К   0 Количество загрузок:

 

IDE даже не проматывая список успешно выставляет значение. Не переживая, в видимой области оно находится или нет.

Скопированные в тест .robot команды перестают работать. В чём подвох?

 


  • 0

#2 checo

checo

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

  • Members
  • PipPipPipPip
  • 366 сообщений
  • Город:Н.Новгород

Отправлено 24 Июнь 2019 - 16:37

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

 

Если автоматическая прокрутка не работает, то придется делать прокрутку через вызов скрипта на странице. Не думаю, что все необходимые параметры для передачи в скрипт удобно готовить в роботе. Возможно, придется делать реализацию своих шагов на питоне.

 

Можно ещё сымитировать действия пользователя - навести мышку и прокрутить колёсиком. Но боюсь, таким образом позиционировать на правильный элемент еще сложнее.

 

Еще локаторы с div, конечно, малочитаемые. Сложно понять, тот ли элемент они находят. Если еще не видели, рекомендую посмотреть доклад.


  • 0

#3 Kori

Kori

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

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Клочков Роман

Отправлено 25 Июнь 2019 - 08:20

 

 

IDE работает внутри браузера и может непосредственно общаться со страницей, а RF использует WebDriver,

Спасибо, это многое обьясняет.

 

по итогам выяснилось, что

  1. В отличии остальных “выпадашек” данные для этой отсутствуют изначально в коде страницы, пока не делали клик в поле “год” . и пути с div/div работали нестабильно
  2. В отличии от остальных “выпадашек” элементы проходили проверку “wait visible” и “wait enable” но на попытку клика отвечали “not interactable” - полечилось “set focus”
  3. Даже после “set focus” не работал “Scroll Element Into View” и пришлось кликать в нужный год через “Execute Javascript”

  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн




Темы с аналогичным тегами RobotFramework, Selenium

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

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

Яндекс.Метрика
Реклама на портале