Strona główna > Ciasteczka w Selenium

Ciasteczka w Selenium

Ciasteczka (ang. cookies) to małe pliki tekstowe zapisywane na urządzeniu użytkownika, takim jak komputer czy smartfon, podczas przeglądania stron internetowych. Są one najczęściej wykorzystywane do przechowywania informacji o preferencjach użytkownika oraz jego aktywności na stronie. Z taką sytuacją mamy do czynienia również w naszej aplikacji testowej.

Ciasteczka w aplikacji

Przykładem takiego ciasteczka jest woocommerce_items_in_cart, które pojawia się po dodaniu produktu do koszyka. Jego wartość jest wtedy ustawiona na 1.

Ciasteczko woocommerce_items_in_cart - screenshot

Wcześniej, po przejściu na stronę produktu, pojawiło się również ciasteczko o nazwie zaczynającej się od wp_woocommerce_session. Gdy je usuniemy to znikną także inne ciasteczka, w tym to związane z produktami w koszyku. Nasz koszyk stanie się wtedy pusty.

Po co nam obsługa ciasteczek

Ciasteczka mogą nam ułatwić testowanie i ustawienie jakichś warunków dla testu. Na przykład w aplikacji fakestore.testelka.pl konkretne ciasteczko odpowiada za wyświetlenie paska na dole strony, który informuje, że korzystamy z wersji demonstracyjnej sklepu. Ten pasek jest o tyle kłopotliwy, że może przesłaniać inne elementy, na które chcielibyśmy kliknąć, dlatego najlepiej jest go zamknąć na początku każdego testu. Zamiast szukać przycisku do zamknięcia paska, można po prostu zmienić wartość ciasteczka i odświeżyć stronę.

Co możemy zrobić z ciasteczkami w Selenium

Wiele rzeczy. 😈 Możemy na przykład pobrać je po nazwie:

Albo je usunąć:

Ciasteczko możemy też usunąć po nazwie:

Możemy również pobrać wszystkie ciasteczka (co już zrobiliśmy w powyższych testach):

Albo wszystkie usunąć:

Możemy także dodać swoje własne ciasteczko:

Informacje o ciasteczkach

Gdy pobierzemy sobie jakieś ciasteczko, możemy wyciągnąć z niego różne informacje. Do dyspozycji mamy poniższe metody, które pozwalają na pobranie konkretnej informacji o ciasteczku:

  • getDomain()
  • getExpiry()
  • getName()
  • getPath()
  • getSameSite()
  • getValue()
  • isHttpOnly()
  • isSecure()

Ciasteczka w Selenium – smaczny dodatek do testów

Obsługa ciasteczek w Selenium jest całkiem prosta. Co więcej, daje nam to kilka dodatkowych możliwości, które mogą znaleźć swoje zastosowanie w testach i czasem się przydać. Być może obsłużenie ciasteczek będzie prostszym i szybszym rozwiązaniem, niż lokalizowanie niektórych elementów i klikanie po stronie – warto to sprawdzić.

A gdyby wciąż Wam było mało (wiadomo, ciasteczek zawsze jest za mało), dajcie znać czego jeszcze chcielibyście się dowiedzieć. 😎