Size: a a a

QA — Автоматизация

2020 February 04

DS

Dmitriy Sorokin in QA — Автоматизация
Konstantin L
sleep прописать?
Пахнет атстойным хардкодом
источник

DS

Dmitriy Sorokin in QA — Автоматизация
Тоже встречался с такой проблемой, из-за того, что js что-то подгружал в процессе, элемент находился, но не был кликабелен

Есть норм методы для ожидания кликабельности элемента, погугли
источник

KL

Konstantin L in QA — Автоматизация
Dmitriy Sorokin
Пахнет атстойным хардкодом
)) да не там в основном всё нормально implicit wait использую
источник

АМ

Андрей Михаевич in QA — Автоматизация
Я использовал try catch+wait
источник

AT

Andrey Trofimov in QA — Автоматизация
Андрей Михаевич
Я использовал try catch+wait
Я бы таким не хвастался
источник

АМ

Андрей Михаевич in QA — Автоматизация
А у меня выбора особого не было
источник

АМ

Андрей Михаевич in QA — Автоматизация
Andrey Trofimov
Я бы таким не хвастался
Во вторых я не хвастался а сказал, как я обходил этот геморрой
источник

AT

Andrey Trofimov in QA — Автоматизация
Да это шутка юмора была
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Dmitriy Sorokin
Тоже встречался с такой проблемой, из-за того, что js что-то подгружал в процессе, элемент находился, но не был кликабелен

Есть норм методы для ожидания кликабельности элемента, погугли
Это похоже на достаточно традиционный вопрос про виды ожиданий WebDriver

Релевантные примеры есть, например, тут:
https://www.seleniumeasy.com/selenium-tutorials/webdriver-wait-examples

Конкретно по ожиданию кликабельности:

WebDriverWait wait = new WebDriverWait(driver, waitTime);
wait.until(ExpectedConditions.elementToBeClickable(locator));
источник

AT

Andrey Trofimov in QA — Автоматизация
Roman (rpwheeler)
Это похоже на достаточно традиционный вопрос про виды ожиданий WebDriver

Релевантные примеры есть, например, тут:
https://www.seleniumeasy.com/selenium-tutorials/webdriver-wait-examples

Конкретно по ожиданию кликабельности:

WebDriverWait wait = new WebDriverWait(driver, waitTime);
wait.until(ExpectedConditions.elementToBeClickable(locator));
Или использовать селенид и выкинуть из головы подобные проблемы
источник

О

Олеся in QA — Автоматизация
Andrey Trofimov
Или использовать селенид и выкинуть из головы подобные проблемы
😀👍
источник

ZE

Zewa 🚽 Expert in QA — Автоматизация
Andrey Trofimov
Или использовать селенид и выкинуть из головы подобные проблемы
Не всегда это серебряная пуля. Бывает так, что обработчик накидывается на кнопку с задержкой в сотни милисек, но кнопка вполне себе кликабельна физически  и по набору классов
источник

KL

Konstantin L in QA — Автоматизация
Roman (rpwheeler)
Это похоже на достаточно традиционный вопрос про виды ожиданий WebDriver

Релевантные примеры есть, например, тут:
https://www.seleniumeasy.com/selenium-tutorials/webdriver-wait-examples

Конкретно по ожиданию кликабельности:

WebDriverWait wait = new WebDriverWait(driver, waitTime);
wait.until(ExpectedConditions.elementToBeClickable(locator));
спасибо. Запилил вот так
self.go_in_cart = WebDriverWait(self.browser, 2).until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'data-test="card__button-go-over"'))) и получаю ошибку
selenium.common.exceptions.TimeoutException: Message:
А вообще ошибка Message: element not interactable, совершенно случайно, не может быть связана с тем, что у меня таких элементов (data-test="card__button-go-over") несколько?
источник

KL

Konstantin L in QA — Автоматизация
Andrey Trofimov
Или использовать селенид и выкинуть из головы подобные проблемы
и учить java?) Нееее...
источник

KL

Konstantin L in QA — Автоматизация
короч я разобрался и мне немного стыдно (но я в автоматизации тестирования селениумом пока нуб) итак проблема была в том, что таких элементов много. Как только я выбрал один конкретный (составным селектором выбрал конкретную кнопку) -  всё сразу заработало.
источник

AS

Andrei Solntsev in QA — Автоматизация
Zewa 🚽 Expert
Не всегда это серебряная пуля. Бывает так, что обработчик накидывается на кнопку с задержкой в сотни милисек, но кнопка вполне себе кликабельна физически  и по набору классов
Ну так это бага, получается. Юзер-то тоже может кликнуть раньше, чем обработчик привяжется.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Vyacheslav Leonidov
В итоге все получилось, еще раз спасибо. :)
у нас говорят - едва начал правильно делать - и уже заработало! :)
источник

ZE

Zewa 🚽 Expert in QA — Автоматизация
Andrei Solntsev
Ну так это бага, получается. Юзер-то тоже может кликнуть раньше, чем обработчик привяжется.
Вряд ли у него получится, но чисто теоретически, игрок в доку2 может постараться.
Благо сервисы, где я это встречал, были црмками и биллингами. Низкий приоритет, бэклог на след год)
источник

AS

Andrei Solntsev in QA — Автоматизация
Согласен, вряд ли успеет. Но есть более веский аргумент.
источник

AS

Andrei Solntsev in QA — Автоматизация
Клик может не привязаться не из-за скорости, а из-за какой-нибудь js ошибки, случившейся до привязки клика.
источник