Sobes.tech
Junior — Middle

Jakie rodzaje oczekiwań możesz wymienić w kontekście rozwoju oprogramowania?

sobes.tech AI

Odpowiedź od AI

W kontekście rozwoju oprogramowania wyróżnia się kilka typów oczekiwań (expectations), szczególnie w testowaniu i automatyzacji:

  • Twarde oczekiwania (Hard waits) — stały czas oczekiwania, np. sleep(5). Rzadko używane, ponieważ są nieefektywne i spowalniają testy.
  • Wyraźne oczekiwania (Explicit waits) — oczekiwanie na określony warunek lub zdarzenie z limitem czasu. Na przykład oczekiwanie na pojawienie się elementu na stronie.
  • Domyślne oczekiwania (Implicit waits) — ustawienie czasu oczekiwania na wyszukiwanie elementów, podczas którego driver będzie wielokrotnie próbował.
  • Oczekiwania oparte na zdarzeniach (Event-based waits) — oczekiwanie na wystąpienie określonego zdarzenia, np. zakończenie ładowania pliku.

Przykład wyraźnego oczekiwania w Pythonie z Selenium:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, 'myElement')))