Losowe dane testowe - webdriver

0

Witam
Chciałbym testować stronę losowymi danymi testowymi. Niewiem jak to zrobić. Ktoś coś podpowie?

0
  • Pobierasz z pliku.
  • Randomizujesz
  • Losowo wybierasz z pliku
0

ale w jaki sposób? masz jakiś przykład?

0

Jaki język? jakie konkretnie dane? String, dane liczbowe?

Jeżeli zaś chcesz przetestować kilka opcji, to jest wygenerować kilka testów dla różnych zestawów danych z tymi samymi krokami, pomyśl o jakimś frameworku do DDT, np easytest dla javy albo DDT dla pythona.

0

Mam narzucone selenium i dopiero się uczę. W web driverze w javie napisałem test/skrypt uzupełniający formularz. Działa, uzupełnia danymi na sztywno, ale to ma się testować automatycznie. Dlatego potrzebuję gdzieś umieścić sobie dane testowe i importować je do testu. Też nie wiem jak generować jakieś raporty, żeby widzieć które dane przeszły a na których się wysypało. Na razie chcę się skupić na tym jednym formularzu, żeby zrozumieć o co chodzi, a potem dołączać następne moduły albo osobne testy dla nich pisać.

Język to java a dane i stringi i liczby.

1

Przykład 1:

  1. Tworzysz lub ściągasz plik w którym masz listę różnych imion męskich.
  2. Tworzysz lub ściągasz plik w którym masz listę różnych nazwisk w męskiej formie.
  3. Wczytujesz przy pomocy IOUtils (apache commons) te pliki metodą readLines.
  4. Przy pomocy obiektu klasy Random losujesz jedną linię z listy imion i jedno imię z listy nazwisk oraz łączysz to 1 string.
  5. Wpisujesz otrzymany string do pola formularza przez webdriver.

Przykład 2:

  1. Losujesz liczbę od 0 do 40 przy pomocy obiektu klasy Random.
  2. Dodajesz do niej 18
  3. Tak otrzymaną liczbę możesz traktować jako wiek
1

Dzięki bibliotece easytest możesz dostać konkretną informacje który test się wywalił (z którymi danymi). Tworzy ona oddzielny test dla każdego zestawu danych

Po dodaniu easytest do mavena (radzę poczytać o mavenie, jeśli jeszcze nie używasz)

  1. Tworzysz plik csv (lub xml) z danymi testowymi
  2. Dane wczytujesz do klasy poprzez wbudowane adnotacje
 @RunWith(DataDrivenTestRunner.class)
 @DataLoader(filePaths={testData.csv})
 public class TestClass{

     @Test
     public void simplTestMethod(@Param(name="name")String name , @Param(name="age")int age , @Param(name="expectedOutput")int expectedOutput){
       ...............//your test conditions here
     }
 }

gdzie nazwa parametru odpowiada kolumnie w CSV. I teraz test będzie powtarzany tyle razy, ile danych testowych znajdzie kod.

Rozwiązania zaproponowane przez przedmówców są ok, ale żeby mieć dużo mówiący trace błędów, musiałbyś nadpisać klasę runnera, a jeśli dopiero zaczynasz, może być to kłopotliwe. Za to biblioteka zrobi to za Ciebie.

0

Ok...teoretycznie może tak być. Gorzej z praktyką :/. Może jakiś przykład?

No właśnie dopiero zaczynam. Ogarnąłem IDE, web drivra trochę ale nie widzę sensu uczenia się go tworząc testy tylko za danymi na sztywno. Może podpowiedzcie mi w co jeszcze albo co w ogóle potrzebuję jako początkujący tester automatyczny?

0

Może macie jakiś przykład?

1 użytkowników online, w tym zalogowanych: 0, gości: 1