Testing

Biblioteka do testów automatycznych UI aplikacji Web w C#

Czerwiec 4, 2020 0
Podziel się:

Od pewnego czasu pracowaliśmy z Mateuszem Tadlą (kontakt – mtadla@sii.pl) nad rozwiązaniem w postaci biblioteki do automatyzacji testów UI dla C# i Selenium WebDriver. Na ten moment, do Waszej dyspozycji są szablony do automatyzacji testów w Javie, które zostały opublikowane przez zespół automatyków testów. Zachęcamy do zapoznania się również z nimi pod adresem: Darmowe szablony do automatycznych testów aplikacji Web.

Wiele osób, zaczynając swoją przygodę z automatyzacją testów UI, zastanawia się, czy warto tworzyć własną bibliotekę do testów automatycznych, czy może skorzystać już z dostępnego, gotowego rozwiązania. Istnieje wiele ciekawych bibliotek, dotyczących takich technologii jak Java czy JS, które ułatwiają rozwój testów automatycznych. Dla C# wybór nie jest tak oczywisty. Występuje znacznie mniej stale utrzymywanych rozwiązań. Jest to powód, dla którego zdecydowaliśmy się na stworzenie łatwego do wdrożenia rozwiązania.

Przygotowane rozwiązanie znacznie ułatwia pracę z automatyzacją testów akceptacyjnych UI dla aplikacji webowych. Zawarte są w nim najczęściej używane i potrzebne klasy wspierające sprawne pisanie testów automatycznych. Poza samym szablonem, który zostawiamy do Waszej dyspozycji, przygotowaliśmy dla Was kilka przykładów, implementujących użycie naszej biblioteki. Wystarczy pobrać kod z repozytorium GITa i zapoznać się z instrukcją w pliku w readme.md.

Co zawiera nasze rozwiązanie?

Nasze rozwiązanie to kilka elementów:

  • Wsparcie dla Allure Report – Allure report jest popularnym frameworkiem do tworzenia raportów z testów automatycznych. Jest to narzędzie open source’owe, pozwalające na tworzenie dynamicznych raportów z testów, w postaci strony.
  • Dynamiczne czekanie na elementy – umożliwia rozwiązanie problemów synchronizacji Selenium WebDriver z wolno ładującym się interfejsem użytkownika.
  • Page Object Pattern – popularny wzorzec projektowy, który został użyty do podziału struktury kodu w naszych przykładach.
  • Generatory danych – przy wykorzystaniu biblioteki ‘Bogus’ zaimplementowaliśmy prosty generator, dostarczający losowe dane użytkowników.
  • Importer konfiguracji – element odpowiadający za pobieranie konfiguracji dla testów. Umożliwia ono przy użyciu prostej parametryzacji pliku JSON na konfiguracje zmiennych, wykorzystywanych w testach.
  • Wsparcie przeglądarek – jest kluczowym elementem automatyzacji różnych przeglądarek. Stworzyliśmy fabrykę, która dostarcza drivery wraz z potrzebnymi opcjami dla najpopularniejszych przeglądarek, takich jak Chrome, Firefox, Internet Explorer oraz Edge.

Dlaczego warto skorzystać?

Szablon zawiera wiele przydatnych klas, ułatwiających korzystanie z Selenium WebDriver. Mogą być to podwaliny dla rozwiązania, z którego będziecie korzystać w codziennej pracy. Zachęcamy również do dodawania swoich pomysłów, dotyczących nowych funkcji, jak i również dodawania swoich pull requestów, które pozwolą nam na wspólne rozwijanie tej biblioteki.

Jakie mamy plany na przyszłość?

W przyszłości planujemy dalszy rozwój biblioteki, wzbogaconą o większą liczbę przykładów i przykładnych funkcji. Chcemy również stworzyć dokładniejszą dokumentację oraz przygotować paczkę Nugeta.

Kod dostępny jest na GitHubie:

https://github.com/sii-poland/csharp_page_object_pattern

 


Kontakt do autorów:

Mateusz Tadla – mtadla@sii.pl

Michał Ślęzak – mslezak@sii.pl

5 / 5
Kategorie: Testing
Michał Ślęzak
Autor: Michał Ślęzak
Michał Ślęzak – Developer Test Engineer w SII sp. z o.o – Automatyzacją testów zajmuję się od kilku lat. Prowadzi bloga - testingplus.me oraz jest jednym z liderów PTaQ.org, oraz podcastu TestingParrot jednego z pierwszych podcastów o testowaniu w Polsce. Pisał dla geek.justjoin.it / blog.testuj.pl / Programista Magazyn. Poza pracą lubi rozwój osobisty, czytać książki i oglądać seriale.

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

Zostaw komentarz