Знакомый сценарий: вы написали идеальный тест. Он работает у вас на машине. Вы запускаете его на CI — и он падает. Причина? Элемент не успел прогрузиться. Вы добавляете Thread.sleep() и молитесь, чтобы это сработало в следующий раз. Хватит это терпеть! Рассказываю про главную фишку Playwright, которая превращает эту боль в удовольствие — Автоматические ожидания (Auto-Waiting). В чем соль?
Вам больше НЕ НУЖНО вручную прописывать ожидания перед каждым действием. Playwright на Java делает это под капотом сам. Как выглядит код с Selenium WebDriver: java: // Куча hard-кода:
WebElement button = driver.findElement(By.id("btn"));
new WebDriverWait(driver, Duration.ofSeconds(10))
.until(ExpectedConditions.elementToBeClickable(button));
button.click(); Как выглядит код с Playwright: java: // Всю магию берет на себя фреймворк. Просто пишем:
page.click("#btn"); Да, вот так! Всего ОДНА СТРОКА. Когда вы даете команду click(), fill() или type(), Playwright умно ждет, пока элемент: И только