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

Практикум по тест-дизайну 2.0
онлайн, начало 20 cентября
Python для начинающих
онлайн, начало 25 сентября
Первый Онлайн ИНститут Тестировщиков
онлайн, начало 23 сентября
Тестирование REST API
онлайн, начало 23 сентября
Фотография

Не взаимодействует со вторым элементом из списка с одинаковыми class


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

#1 Yoooo

Yoooo

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

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

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

На странице http://todomvc.com/e...les/backbone/#/ пытаюсь написать сценарий который удаляет второй из двух введённых в список элементов.

Я использую связку Selenium+Java.

 

При использовании  driver.findElementByClassName("destroy").click();  - клик срабатывает, но удаляется первый пункт, а нужно удалить второй

При использовании  driver.findElementsByClassName("destroy").get(1).click();  - появляется ошибка element not interactable
При использовании  driver.findElementByXPath("//section/ul/li[2]/div/button").click();  - тоже появляется ошибка element not interactable
 
Фактически, кнопка для удаления появляется после того, как навести на неё курсор.
Но использование 
Actions cursorOnDestroyButton = new Actions(driver);
List <WebElement> destroyList = driver.findElements(By.className("destroy"));
cursorOnDestroyButton.moveToElement(destroyList.get(1)).click();
тоже не помогло.
В таком случае никаких ошибок не появляется, но и с элементами ничего не происходит, не удаляется вообще ни первый ни второй пункт.
 

Подскажите, в чём здесь ошибка и как такое реализовать?

 


  • 0

#2 TatyanaV

TatyanaV

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

  • Members
  • PipPipPipPip
  • 387 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 01 Июль 2019 - 07:54

Попробуйте между "cursorOnDestroyButton.moveToElement(destroyList.get(1))" и ".click();" добавить ожидание кликабельности.

Т.е. "переместить курсор", подождать пока кнопка станет кликабельной, кликнуть.


  • 0

#3 BabyRoot

BabyRoot

    Специалист

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


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

Возможно, крестик не сразу появляется при наведении на вторую плашку.

По этому, сначала наведите на плашку (css: .todo-list li:nth-child(2) )

Подождите немного (или более правильно - подождите появления крестика - css: .todo-list li:nth-child(2) .destroy)

И кликните уже по нему.


  • 0


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



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

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

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