Size: a a a

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

2020 January 11

B

Bola in QA — Автоматизация
Oleksandr Khotemskyi
можно ждать не только displayed или presence, можно ждать и нужных css стилей, и позиции элемента, и размера элемента, и что угодно...
Можно и анимацию принудительно отключить, если он на css завязан
источник

OK

Oleksandr Khotemskyi in QA — Автоматизация
Bola
Можно и анимацию принудительно отключить, если он на css завязан
да, это тоже хороший вариант
источник

A

Artur in QA — Автоматизация
С таким еще не сталкивался. Буду копать, спасибо
источник

M

Maksim in QA — Автоматизация
Artur
объясните кто-то, почему у всех такое отношение к thread.sleep'у?
Ты блочишь поток в слип
источник

M

Maksim in QA — Автоматизация
Это bad practise
источник

EB

Evgenii B in QA — Автоматизация
Maksim
Это bad practise
О, а где можно почитать про “bad practise” и слип в треде побольше? Ну или вашими словами передайте
источник

B

Bola in QA — Автоматизация
Maksim
Ты блочишь поток в слип
Какой там поток блочится?
источник

M

Maksim in QA — Автоматизация
Evgenii B
О, а где можно почитать про “bad practise” и слип в треде побольше? Ну или вашими словами передайте
источник

AK

Andrey K in QA — Автоматизация
Artur
вот об этом речь:
   public void waiter(){
       try {
           Thread.sleep(3000);
       } catch (InterruptedException e) {
           e.printStackTrace();
       }
   }
Эм... на сайте в любом случае есть какой-то признак, который позволяет вам, как пользователю, определить, что сайт загружен, так? Если это так, то вам просто нужно найти этот элемент в DOM и  понять, что с ним происходит до, во время и после загрузки сайта. И отслеживать это изменение в самом тесте.
источник

AK

Andrey K in QA — Автоматизация
Artur
Всем привет.
Практикуется ли такое в вашей стези, чтобы Thread.sleep запихнуть в отдельный метод, что бы не засорять код трай-кетчами?
Wait'ом у меня не получается сделать то, что мне нужно, ибо элемент, который он ищет и "ждет", пока он станет кликабельным, появляется сразу с загрузкой страницы и это никоим образом не заставляет его сделать задержку. А она нужна, чтобы страница секунд 3 пришла в себя и  далее я с ней делаю манипуляции.
Кмк, вы ждете не тот элемент) Т.е. у вас два разных события:
* страница загружена, т.к. элемент Х - видимый/кликабельный/ИмеетКакоетоСвойство.
* нужно кликнуть на какой-то элемент У, когда он станет кликабельным.

И второе событие происходит раньше первого.
источник

BO

Boris Osipov in QA — Автоматизация
Therefore, I find it fine to use Thread.sleep here. As you said, spawning a separate thread when you are going to block the current thread anyways seems to complicate things without merit.
источник

EB

Evgenii B in QA — Автоматизация
it's frequently used in an ill attempt to fix a race condition, used where notification based synchronization is a much better choice

По мне это не bad practice, а bad misuse
источник

EB

Evgenii B in QA — Автоматизация
Метод не виноват, что его используют идиоты. Он был придуман для сотен других полезных ситуаций
источник

B

Bola in QA — Автоматизация
Вы только там прочитали, что это бэд практис?
источник

AZ

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

AZ

Andrey Zuykov in QA — Автоматизация
This method is handy when you want to introduce a short pause into your thread execution. For example, imagine you have to update 100 000 rows in a database, but in order to lower the impact on the database you are required to introduce breaks of, say 2 seconds, between your update queries
источник

M

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

B

Bola in QA — Автоматизация
Но тут речь об UI. Там нет таких проблем
источник

AZ

Andrey Zuykov in QA — Автоматизация
https://automationintesting.com/selenium/java/lessons/waits.html

Тут тоже, насколько я понял, советуют быть осторожнее со thread.sleep и рекомендуют wait.until
источник

AZ

Andrey Zuykov in QA — Автоматизация
Не знаю правда, насколько можно тем или иным ресурсам доверять.
источник