Size: a a a

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

2020 January 20

B

Bola in QA — Автоматизация
Дмитрий
Ну не во время отрисовки, но во время загрузки может
то есть пользователю кнопка доступна во время загрузки, а что происходит, когда на нее нажимают в это время?
и когда пользователь понимает, что страница загрузилась и кнопка работает как он ожидает?
источник

Д

Дмитрий in QA — Автоматизация
Bola
то есть пользователю кнопка доступна во время загрузки, а что происходит, когда на нее нажимают в это время?
и когда пользователь понимает, что страница загрузилась и кнопка работает как он ожидает?
С точки зрения пользователя ничего не происходит.
источник

B

Bola in QA — Автоматизация
а что означает " без полностью загруженной страницы"  - что есть полностью загруженная страница?
источник

B

Bola in QA — Автоматизация
Вариантов немного.
Найти элемент, который появляется/меняет состояние, когда сайт готов к работе
Если есть спиннер, дождаться его окончания.
Если есть аякс запросы, их можно чекать через $.active
Если при нажатии что-то должно произойти, кликать, пока не произойдет (ваш вариант)
Поставить слип на n секунд
Если работает какая-то анимация и она мешает, выключить ее
источник

Д

Дмитрий in QA — Автоматизация
>Если есть аякс запросы, их можно чекать через $.active
аякс есть, попробую в эту сторону посмотреть, спасибо
источник

LY

Lev Yarushin in QA — Автоматизация
Дмитрий
Всем привет. Возникла проблема с определением момента окончания загрузки страницы. Я понимаю, что беспрактис это ждать только нужный элемент, но в случае мобильной версии сайта это работает совсем плохо, условная кнопка есть, но без полностью загруженной страницы она не нажимается. Гугл подсказывает популярное решение
new WebDriverWait(getWebDriver(), 10000).until(webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
но оно работает только при открытии нового урла, в процессе хождения по страницам уже открытого сайта ожидания нет, подозреваю возвращается статус уже загруженной страницы.
Есть какое-то нормальное решение, кроме очевидного перехвата ошибок и повтора действия чере n мс?
Как вариант - вы можете с фронтами договориться, чтобы вам сделали объект для проверки.
Вот подобный подход
https://github.com/alfonso-presa/testability.js/
источник

Д

Дмитрий in QA — Автоматизация
Спасибо, посмотрю.
источник
2020 January 21

VN

Valentyn Nagai in QA — Автоматизация
Добрый вечер. Подскажите, как увеличить read/write timeout в selenium 4  для remote webdriver?
источник

АС

Артемий С. in QA — Автоматизация
Дмитрий
Всем привет. Возникла проблема с определением момента окончания загрузки страницы. Я понимаю, что беспрактис это ждать только нужный элемент, но в случае мобильной версии сайта это работает совсем плохо, условная кнопка есть, но без полностью загруженной страницы она не нажимается. Гугл подсказывает популярное решение
new WebDriverWait(getWebDriver(), 10000).until(webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
но оно работает только при открытии нового урла, в процессе хождения по страницам уже открытого сайта ожидания нет, подозреваю возвращается статус уже загруженной страницы.
Есть какое-то нормальное решение, кроме очевидного перехвата ошибок и повтора действия чере n мс?
Если есть кнопка но не работает - с этим столкнётся и пользователь, можно вносить баг
А по сути - "очевидное" с ретраем действия - это самый правильный подход для стейлов
источник

AB

Alexei Barantsev in QA — Автоматизация
Valentyn Nagai
Добрый вечер. Подскажите, как увеличить read/write timeout в selenium 4  для remote webdriver?
HttpClient client = HttpClient.Factory.createDefault().createClient(ClientConfig.defaultConfig().connectionTimeout(ofMinutes(30)).readTimeout(ofMinutes(30)))
источник

VN

Valentyn Nagai in QA — Автоматизация
спасибо!
источник

M

Mike in QA — Автоматизация
Народ, подскажет кто как работать с элементами shadow dom? На примере календаря bootstrap: выбрать рандомную дату и получить это значение? https://eonasdan.github.io/bootstrap-datetimepicker/#bootstrap-3-datepicker-v4-docs
источник

M

Maksym in QA — Автоматизация
Mike
Народ, подскажет кто как работать с элементами shadow dom? На примере календаря bootstrap: выбрать рандомную дату и получить это значение? https://eonasdan.github.io/bootstrap-datetimepicker/#bootstrap-3-datepicker-v4-docs
короткий ответ - с помощью джаваскрипта https://stackoverflow.com/questions/55761810/how-to-automate-shadow-dom-elements-using-selenium
источник

AB

Alexei Barantsev in QA — Автоматизация
поясните, что значит "выбрать рандомную дату"? в пикере вроде бы нет такой кнопки... и зачем для этого пикер использовать? возьмите да и сгенерируйте сразу рандомную дату, а потом её введите в поле ввода обычным sendKeys
источник

B

Bola in QA — Автоматизация
не, тут человек изучает как работать с календарем ,рандомная - это значит все равно какую дату выбрать, хочет выбрать принципиально с помощью селениума
источник

AB

Alexei Barantsev in QA — Автоматизация
да и DOM там совершенно обычный, кстати
источник

AB

Alexei Barantsev in QA — Автоматизация
откуда инфа, что там shadow dom используется?
источник

B

Bola in QA — Автоматизация
кстати, да, дата тут без проблем выбирается, элементы все доступны
но в другом чате автор спросил, как вытащить инфо из шадоу элемента
источник

B

Bola in QA — Автоматизация
источник

B

Bola in QA — Автоматизация
вот этот - contenteditable
источник