Wyślij zapytanie Dołącz do Sii

Kolejną metodą będzie funkcja zamykająca okno testowanej aplikacji. Jest ona znacznie krótsza – jest to wersja podstawowa. Przed nazwą metody dodajemy adnotację [TestCleanup].

Wyszukujemy nazwę aplikacji na liście otwartych i aktywnych instancji i wywołujemy na niej funkcję Close(). Oczywiście jest to wersja dość uboga – może przecież okazać się, że okno jest już zamknięte (aplikacja scrashowała się podczas testu i okno zostało zamknięte), więc należałoby sprawdzić, czy okno nie jest nullem. Ale na potrzeby niniejszego artykułu wystarczy nam opcja podstawowa.

TestBase – funkcja czyszcząca
Rys.3. TestBase – funkcja czyszcząca

Następnym etapem jest stworzenie klasy zawierającej metody dla naszego testu. Można nazwać ją dowolnie, nazwa ma być intuicyjna. Nasz test będzie najprostszym z możliwych ­– będzie to dodanie dwóch liczb pojedynczych i sprawdzenie czy suma będzie taka, jaka być powinna. W tym celu tworzymy dwuparametrową metodę typu void. Tworzymy instancję okna na podstawie tytułu aplikacji (linia 83). Poniżej tworzymy obiekty typu UIItem wyszukując w oknie kontrolki na podstawie tekstu (linia 84 i 85) oraz na podstawie automationID (linia 86 i 87). Aby pobrać automationID wykorzystujemy program Inspect.exe, o którym wspomniano we wcześniejszych wpisach. Po kliknięciu w znak równości wywołano funkcję WaitWhileBusy() – funkcja ta czeka, dopóki okno jest zajęte. Jest to istotny element synchronizacji i przydaje się w bardziej czasochłonnych komendach. Na koniec użyto asercji AreEqual(), aby sprawdzić poprawność dodawania. Ciekawostka: jeśli zamiast resultInt.ToString() użyjemy tylko resultInt rezultat testu będzie fail – 15 i „15” to tutaj całkiem odmienne wartości. Metoda prezentuje się następująco:

Metoda dodająca
Rys. 4. Metoda dodająca

Ostatnim etapem będzie napisanie testu. Przechodzimy do pliku, który jest domyślnie tworzony wraz z projektem. Dodajemy dziedziczenie klasy TestBase (linia 7). Tworzymy obiekt naszej klasy z metodą dodającą (linia 9). W metodzie wywołujemy funkcję, podając w parametrach liczby do dodania (linia 14).

Test kalkulatora
Rys. 5. Test kalkulatora

Jest to najprostszy przykład wykorzystania frameworka TestStack.White. Poniżej podane zostaną przykłady interakcji z mniej oczywistymi kontrolkami, np.:

  • Combobox

dateOption – to podana w parametrze funkcji wartość do wybrania z combobox (string)

Combobox
Rys. 6. Combobox
  • Menu
Menu
Rys. 7. Menu

Chcesz lepiej zrozumieć aplikacje i systemy, które testujesz? Dołącz do ModernTester, poznaj najpotrzebniejsze narzędzia, frameworki oraz języki programowania i ćwicz na specjalnie przygotowanych środowiskach testowych: Platforma e-learningowa ModernTester

Ocena:
Autor
Avatar
Paulina Łojszczyk

W Sii pracuję od niemalże 5 lat, moją specjalizacją są testy aplikacji mobilnych. Ponadto zajmuję się także poznawaniem i rozwijaniem testów w narzędziu Tosca. Prywatnie jestem szczęśliwą żoną i mamą rocznej Hani.

Zostaw komentarz

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

  • [TestCleanup] – co tam szukasz okna głównego aplikacji – co sądzisz o wykonaniu cleanupa przez zabicie testowanego procesu? Dajesz też przykład dorzucenia metod do nowej klasy (jak rozumiem zagnieżdżonej w klasie TestBase) – na tym przykładzie fajniej wyglądałoby zastosowanie Page Object Pattern – pokazanie, że to świetne podejście nie tylko w testach Webowych – buttony zastosowane jako propertiesy maniWindowa – wtedy w [TestMethod] nie wywołujesz metody przygotowanej z boku tylko wykonujesz operacje, jakie wykonuje user – wtedy masz świetny test, czytelny dla osoby, która go nie kodowała; za analizę testu może wziąć się osoba nietechniczna/mniej techniczna

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?