E2E-сценарий заказа: фрагмент
🟡 Selenium
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable(
(By.ID, "add-to-cart-sauce-labs-backpack"))).click()
badge = wait.until(EC.visibility_of_element_located(
(By.CLASS_NAME, "shopping_cart_badge")))
assert badge.text == "1"
driver.find_element(By.CLASS_NAME, "shopping_cart_link").click()
# ... ещё ожидания на каждый переход ...
🟢 Playwright
inventory.add_to_cart("Sauce Labs Backpack")
expect(inventory.cart_badge).to_have_text("1")
inventory.go_to_cart()
expect(cart.items).to_have_count(1)
# переходы и ожидания — встроены
Авторизация
🟡 Selenium
# обычно логин-метод вызывается
# в начале каждого теста (или в setup)
def setup_method(self):
self.driver.get(URL)
LoginPage(self.driver).login(...)
🟢 Playwright
# логин один раз -> storage_state,
# тесты стартуют уже залогиненными
# (см. conftest.py в примерах)
⚠️ Это сравнение подходов, а не «что лучше». Выбор инструмента — за командой.