Project Quality
  • Home
  • Blog
  • 18 Narzędzi dla testera
  • Testowanie oprogramowania dla początkujących
  • Kontakt
11 listopada, 2021 przez admin

Tworzenie dynamicznych danych do testów za pomocą Faker’a — Selenide automatyzacja testów

Tworzenie dynamicznych danych do testów za pomocą Faker’a — Selenide automatyzacja testów
11 listopada, 2021 przez admin

Tworzenie dynamicznych danych do testów za pomocą Faker’a — Selenide automatyzacja testów

Dane do testów

W naszych zautomatyzowanych testach czasem może nastąpić sytuacja, że będziemy potrzebowali danych, którymi chcemy uzupełnić test. Oczywiście najprostszym sposobem będzie wpisanie danych w kod, które będą uzupełniane co wykonanie testu.

Jest to jedno z podejść, które możemy zastosować, ma ono tę zaletę, że co wykonanie testu mamy pewność danych — do systemu wprowadzamy zawsze te same informacje.

Wyzwanie prawdziwego użytkownika

Pojawia się jednak pytanie jak zareaguje nasz system na inne dane. W rzeczywistym świecie użytkownicy będą przecież wprowadzać różne dane do systemu. Może się również darzyć, że nie mamy możliwości przywracania stanu bazy danych po testach, a dane muszą być unikalne.

Na szczęście implementacja takiego scenariusza nie jest trudna i skomplikowana jeśli użyjemy już gotowej biblioteki.

Dziś we wpisie dowiesz się jak zaimplementować bibliotekę do projektu oraz stworzyć losowe dane potrzebne do naszego testu,

Dodanie biblioteki

Pierwszym punktem, jaki musimy wykonać jest dodanie biblioteki faker’a do naszego pliku pom.xml

Najnowszą wersję biblioteki znajdziemy pod tym linkiem (stan na 9.11.2021): https://mvnrepository.com/artifact/com.github.javafaker/javafaker

Kopiujemy naszą dependencję i wklejamy do pliku pom.xml

faker — zdjęcie kodu

Następnie klikamy prawy przycisk myszki na plik pom.xml i wybieramy reload project. Nasza biblioteka znajduje się już w projekcie.

Jak użyć fakera i wygenerować dane?

Użycie fakera jest bardzo proste, wystarczy stworzyć obiekt, a następnie za jego pomocą będziemy mieli dostęp do setek metod, które wygenerują nam potrzebne dane.

Faker faker = new Faker();

następnie w miejscu, gdzie potrzebujemy wstawić wygenerowane dane, wystarczy, że odwołamy się do obiektu i wywołamy metodę, która jest nam potrzebna

przykłady, jakie między innymi daje nam faker znajdziesz poniżej:

faker.name().firstName() → Muoi

faker.lorem().sentence() → Animi est vero officia ea.

faker.animal().name() → frog

faker.lordOfTheRings().location() → Sarn Ford

Czy zawsze warto używać faker’a?

Zdecydowanie przed implementacją fakera w testach warto się zastanowić czy taka operacja, daje nam korzyść. Z jednej strony tracimy stałe dane, jakie są wprowadzane do naszego systemu, z drugiej możemy zaobserwować, jak nasz system reaguje na różne dane.

Faker w projekcie selenide

Jeśli chcesz zobaczyć jak działa faker na praktycznym przykładzie to znajdziesz go w projekcie na teście z wypełnianiem formularza kontaktowego.

Link do projektu: https://github.com/Project-Quality/Selenide-Project/tree/1.2

Każdy tester potrzebuje dobrych narzędzi 💻

Zapisz się do newslettera i poznaj 18 narzędzi które wspierają pracę testera!

Twój dokument już czeka na Ciebie 🎉

Wejdź na swoją skrzynkę e-mail i pobierz dokument „18 narzędzi dla testera aplikacji webowych”

.

Photo by Phillip Glickman on Unsplash

Podziel się:

  • Twitter
  • Facebook
Poprzedni wpisProsty sposób na zgłaszanie defektów, który pozwoli zaoszczędzić Ci godziny pracyNastępny wpis Shift-left testing, czyli testuj jak najwcześniej

1 komentarz

przyb pisze:
15 listopada, 2021 o 7:24 am

Faker lub podobne rozwiązanie świetnie się sprawdza, gdy musimy utworzyć duży zbiór danych. Takim przykładem byłyby testy w których sprawdzamy paginację, czy zachowanie rozbudowanego dropdownu. Nie wiem jak to wyglada w implementacji javowej, ale w PHP możemy sięgnąć po ręczne seedowanie generatora liczb pseudolosowych, co pozwala na uzyskanie za każdym razem tej samej sekwencji losowych danych, a wiec jesteśmy w stanie zapewnić sobie stabilną powtarzalność zestawu danych.

Odpowiedz

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ostatnie wpisy

7 zasad testowania w 5 minut8 stycznia, 2022
Role w obszarze zapewniania jakości18 grudnia, 2021
Shift-left testing, czyli testuj jak najwcześniej25 listopada, 2021

Kategorie

  • Automatyzacja testów
  • Kariera testera
  • Narzędzia
  • podsumowanie
  • Produktywność
  • programowanie
  • Quality
  • Testowanie oprogramowania
  • Testowanie oprogramowania podstawy
  • ui
  • Uncategorized
  • warsztaty

Wpadnij na nasze social media

Jeśli jesteś pasjonatem jakości dołącz do naszej grupy!

Polityka prywatności

Rife Wordpress Theme ♥ Proudly built by Apollo13

About This Sidebar

You can quickly hide this sidebar by removing widgets from the Hidden Sidebar Settings.

Ostatnie wpisy

7 zasad testowania w 5 minut8 stycznia, 2022
Role w obszarze zapewniania jakości18 grudnia, 2021
Shift-left testing, czyli testuj jak najwcześniej25 listopada, 2021

Kategorie

  • Automatyzacja testów
  • Kariera testera
  • Narzędzia
  • podsumowanie
  • Produktywność
  • programowanie
  • Quality
  • Testowanie oprogramowania
  • Testowanie oprogramowania podstawy
  • ui
  • Uncategorized
  • warsztaty

Meta

  • Zaloguj się
  • Kanał wpisów
  • Kanał komentarzy
  • WordPress.org