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

Техники локализации плавающих дефектов
онлайн, начало 17 августа
Школа для начинающих тестировщиков
онлайн, начало 20 августа
Программирование на Python для тестировщиков
онлайн, начало 14 августа
Тестирование без требований
онлайн, начало 17 августа
Фотография

Случайная ошибка при клике


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

#1 Koza_travel

Koza_travel

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

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

Отправлено 04 апреля 2020 - 08:39

Добрый день. Осваиваю Selenium. Возможно ответ очень простой, но для меня пока он не очевиден)

 

Простейшая последовательность действий - открыть сайт, залогиниться, проверить, что залогинился правильно (верный никнейм, верный магазин из списка выбран в аккаунте), разлогиниться. Затем проверка разлогинивания. Если не разлогинился - тест падает. В итоге имеем бессистемные падения. 

 

Эл-т для клика находится без проблем и кликается(хотя пробовал разные локаторы, но это ни чего не дало).  Тест падает не из-за этого. А из-за того, что клик не даёт результата. Руками баг не воспроизводится.

 

Пробовал вручную ставить паузу перед поиском и кликом кнопки разлогинивания(именно паузу в работе т.к. эл-т находится). И запускать 30 одинаковых тестов

результат такой:

1) без паузы - 3 теста отработали хорошо, 1 тест - не нашёл эл-т, 26 тестов - не разлогинились;

2) пауза 10 сек - 22 теста отработали хорошо, 8 не разлогинились;

3) пауза 20 сек - 29 корректно 1 упал с ошибкой element is not attached to the page document.

 

На кнопку повешен скрипт. Я так понимаю, что скрипты не догружаются?

 

в HTML кнопка схематично выглядит так:

<div>

 <div>

  <a href="JS">Выход</a>

 </div>

</div>

 

Как будет лучше взаимодействовать с этим элементов? Как-то проверить загрузку скриптов? Или ещё каким-то образом?

 

 

И ещё немного глупый вопрос) Когда запущены тесты на основной машине (не в виртуалке) использовать компьютер нельзя?Например на другом мониторе открыт другой браузер? Из-за этого тесты тоже могут фейлиться? Или селениум так имулирует действия, что они не привязаны к действиям реальной мыши/клавиатуры? 


  • 0

#2 BabyRoot

BabyRoot

    Специалист

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


Отправлено 04 апреля 2020 - 09:45

Бывает так, что по элементу лучше кликнуть через скрипт.

Вы сказали что элемент нашли, теперь кликните по нему:

        JavascriptExecutor js = (JavascriptExecutor) driver;
        js.executeScript("arguments[0].click()", element);        


  • 0

#3 Snap

Snap

    Специалист

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


Отправлено 04 апреля 2020 - 18:03

Очень похоже, что авторизация/разлогинивание сделаны через Ajax, в результате нет обновления страницы, из-за чего Selenium может некорректно срабатывать. Ошибка "element is not attached to the page document" как раз говорит в сторону этого. Попробуйте поискать в поисковике запрос по данной ошибке, увидите, что нужно играть с ожиданиями/состояниями элемента. Что к слову, не так то и просто.


  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.



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



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

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

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