Прежде всего, да, вам следует избегать использования driver.sleep (), пока вы можете . Почему?
Хорошо, если вы начали использовать это, потому что вы ждете, чтобы что-то появилось на экране, чтобы продолжить выполнение теста.
Ну, вы не знаете, сколько времени понадобится этому «чему-то».
Возможно, иногда время, которое вы жестко закодировали, было слишком коротким, и тест не удался, давая ложный результат.
Возможно, время слишком велико, и тест будет длиться слишком долго, и вы могли бы сэкономить это время.
Иногда две вышеупомянутые точки могут происходить в зависимости от времени, общей нагрузки env, ...
Второй вопрос:
Когда вы используете browser.wait () , вы должны передать условие, чтобы остановить ожидание.
Это может быть Promise , который будет решен в будущем (не рассматривается в ваших примерах), это может быть условие (первый пример) или это может быть функция, которая должна быть выполнена (второй пример) ).
Третий пример немного отличается:
Когда вы используете метод Ожидайте , вы явно пишете условие, которое должно пройти, чтобы пройти тест. По этой причине ожидание не заканчивается, пока Обещание внутри него не будет разрешено.