Typowe testowanie automatyzacji oprogramowania wymaga narzędzi do automatyzacji, takich jak Selenium i QTP. Kodowany interfejs użytkownika jest podobny do tych narzędzi i może być szczególnie przydatny w testach funkcjonalnych.
Coded UI Test (CUIT) używa Visual Studio IDE do pisania skryptów, ponieważ nagrywanie można wykonać za pomocą programu Visual Studio.
W tym samouczku nauczysz się:
- Co to jest kodowany test interfejsu użytkownika (CUIT)?
- Kodowane funkcje testowe interfejsu użytkownika
- Technologie obsługiwane przez kodowany test interfejsu użytkownika (CUIT)
- Dlaczego warto używać kodowanego interfejsu użytkownika do automatyzacji testów
- Jak tworzyć kodowane testy interfejsu użytkownika (CUIT)
- Zawartość kodowanego testu interfejsu użytkownika
- Jak przeprowadzić kodowany test interfejsu użytkownika
- Najlepsze praktyki dotyczące kodowanego testu interfejsu użytkownika (CUIT)
- Porównanie kodowanego testu UI vs. Selen a QTP
Co to jest kodowany test interfejsu użytkownika (CUIT)?
CUIT to zautomatyzowane testy, które kierują twoją aplikacją przez jej interfejs użytkownika (UI). Stąd nazwa zakodowane testy UI (CUIT). Testy te obejmują testowanie funkcjonalne elementów sterujących interfejsu użytkownika. Sprawdza funkcjonalność całej aplikacji łącznie z interfejsem użytkownika.
Kodowane funkcje testowe interfejsu użytkownika
Kodowane funkcje interfejsu użytkownika obejmują
- Testy funkcjonalności
- Wygeneruj kod w VB / C #
- Zintegrowany z historią ALM
- Twórz, wdrażaj i testuj w laboratorium lub jako część kompilacji
- Lokalne, zdalne przebiegi, zbieranie danych
- Bogata rozszerzalność
- Nagrywanie z świadomością zamiaru i odporne odtwarzanie
Technologie obsługiwane przez kodowany test interfejsu użytkownika (CUIT)
Dzięki kodowanemu interfejsowi użytkownika można łatwo przetestować aplikację, która ma interfejs użytkownika (UI). Aplikacja może działać w oknie lub w sieci.
Kodowany interfejs użytkownika obsługuje technologie takie jak
- Aplikacje desktopowe oparte na oknach
- Usługi internetowe (SOAP, ASPX itp.)
- Aplikacje do telefonów z systemem Windows
- WPF (Windows Presentation Foundation)
- Aplikacje internetowe (HTML, Silverlight, HTML5)
Dlaczego warto używać kodowanego interfejsu użytkownika do automatyzacji testów
Powód, dla którego preferowany jest kodowany interfejs użytkownika do automatyzacji testów
- Programiści i testerzy oprogramowania mogą efektywnie współpracować przy użyciu tych samych narzędzi / języka.
- Obsługuje zarówno strony internetowe, jak i projekty Windows.
- Mechanizm identyfikacji elementów to świetna funkcja w Coded UI. Obsługuje również synchronizację
- Mechanizm odtwarzania obsługuje takie funkcje, jak „WaitForControlExist”, „WaitForReadyLevel” itp.
- Za pomocą „agentów testów” można uruchamiać testy automatyzacji na zdalnych maszynach
- Zespoły automatyzacji mogą opracowywać zaawansowane testy, używając kodowanego interfejsu użytkownika z warstwową strukturą
- Testerzy oprogramowania mogą przechwytywać wyjątki i skutecznie rejestrować wyniki, wykorzystując plik log4net.dll
- Narzędzie Coded UI obsługuje programowanie opisowe. Umożliwia testerom oprogramowania automatyzację scenariuszy na podstawie właściwości obiektów
- Obsługuje kontrolki AJAX.
Jak tworzyć kodowane testy interfejsu użytkownika (CUIT)
Aby utworzyć zakodowane testy interfejsu użytkownika, możesz to zrobić na następujące sposoby.
- Generowanie z istniejącego nagrania akcji (konwertowanie z ręcznego nagrywania testu)
- Tworzenie nowego kodowanego testu interfejsu użytkownika od podstaw
- Pisanie kodu od podstaw
Zawartość kodowanego testu interfejsu użytkownika
Podczas tworzenia zakodowanego testu interfejsu użytkownika program konstruktora zakodowanego testu interfejsu użytkownika tworzy Map. Obejmuje to testowany interfejs użytkownika, metody testowe, parametry, potwierdzenia itp. Dla każdego testu tworzy również plik klasy.
Plik | Zawartość | Edytowalne |
---|---|---|
UIMap.Designer.cs | Sekcja deklaracji Właściwości metod klasy UIMap | Nie |
UIMap.cs | Klasa UIMap (częściowa) | tak |
CodedUITest1.cs | Właściwości metod klasy CodeUITest1 | tak |
UIMap.uitest | Mapa XML interfejsu użytkownika do testu. Jest edytowany tylko za pomocą edytora mapy interfejsu użytkownika | Nie |
- UIMap.Designer.cs : Projektant zawiera widok kodu UIMap. Jest generowany, gdy tester rejestruje interakcję z interfejsem użytkownika lub gdy niektóre obiekty są dodawane ręcznie do UIMap.
- UIMap.cs : Wszelkie modyfikacje lub dostosowania wykonane w UIMap są przechowywane w tym pliku. Początkowo ten plik będzie pusty i można go później wypełnić. Jeśli modyfikacje są wprowadzane bezpośrednio w pliku UIMap.designer.cs, upewnij się, że nie jest on zapisywany, w przeciwnym razie wszystkie zmiany zostaną utracone.
- CodedUITest1.cs : ten plik zawiera zakodowaną klasę testową interfejsu użytkownika, metody testowe, wywołanie asercji i wywołanie metody. Wszystkie potwierdzenia i metody są domyślnie wywoływane z tego pliku.
- UIMap.uitest : Jest to reprezentacja XML klasy UIMap. Obejmuje okna, kontrolki, właściwości, metody, akcje i potwierdzenia. Jest edytowany tylko za pomocą edytora mapy interfejsu użytkownika
Jak przeprowadzić kodowany test interfejsu użytkownika
Kodowany interfejs użytkownika umożliwia przeprowadzenie testu aplikacji na dwa różne sposoby.
- Kodowane nagrywanie i odtwarzanie interfejsu użytkownika lub
- Kodowane ręczne kodowanie interfejsu użytkownika
Musisz wykonać następujący krok, aby wykonać kodowany test interfejsu użytkownika,
- Utwórz zakodowany projekt testowy interfejsu użytkownika
- Dodaj zakodowany plik testowy interfejsu użytkownika
- Nagraj sekwencję działań
- Sprawdź wartości w polach interfejsu użytkownika, takich jak pola tekstowe
- Wyświetl wygenerowany kod testowy
- Dodaj więcej akcji i potwierdzeń
- Edytuj szczegóły czynności testowych i stwierdzeń
- Uruchom test
Najlepsze praktyki dotyczące kodowanego testu interfejsu użytkownika (CUIT)
Oto kilka sprawdzonych metod dotyczących kodowanego testu interfejsu użytkownika,
- W miarę możliwości korzystaj z narzędzia do tworzenia kodowanych testów interfejsu użytkownika
- Staraj się nie modyfikować bezpośrednio pliku UIMap.designer.cs. W przeciwnym razie zmiany wprowadzone w pliku zostaną nadpisane
- Utwórz test jako sekwencję zarejestrowanych metod
- Każda zarejestrowana metoda powinna działać na pojedynczej stronie, formularzu lub oknie dialogowym. Utwórz również nową metodę testową dla każdego nowego formularza, strony lub okna dialogowego
- Podczas tworzenia metody zamiast nazwy domyślnej należy użyć opisowej nazwy metody. Znacząca nazwa pomaga zidentyfikować cel metody
- Jeśli to możliwe, ogranicz każdą zarejestrowaną metodę do mniej niż 10 działań. Takie podejście ułatwia zastąpienie metody, jeśli zmieni się interfejs użytkownika.
- Aby utworzyć potwierdzenie, użyj zakodowanego konstruktora testów interfejsu użytkownika. Automatycznie dodaje metodę potwierdzenia do pliku UIMap.Designer.cs.
- Zapisz ponownie metody testowe / metody potwierdzania, jeśli interfejs użytkownika zmieni lub ponownie zarejestruje dotknięte sekcje istniejącej metody testowej.
- Jeśli kodujesz bezpośrednio za pomocą interfejsu API, użyj metod i właściwości w klasach utworzonych w pliku UIMap.Designer.cs. Dzięki tym zajęciom Twoja praca będzie bardziej niezawodna i łatwiejsza, a także zwiększą produktywność.
Porównanie kodowanego testu UI vs. Selen a QTP
Poniżej znajduje się tabela porównawcza testów kodowanego interfejsu użytkownika z innymi narzędziami automatyzacji.
- Selenium nie obsługuje żadnych aplikacji WPF ani Windows
- Visual Studio Coded UI obsługuje testowanie aplikacji Window Store, a także testowanie aplikacji Window Phone. Żadne inne narzędzia tego nie obsługują.
- Test ukończony obsługuje aplikację Windows, ale wymaga zainstalowania wtyczki.
Podsumowanie:
- Testy automatyczne, które sterują aplikacją za pośrednictwem interfejsu użytkownika (UI), są nazywane kodowanymi testami interfejsu użytkownika (CUIT).
- Kodowany interfejs użytkownika obsługuje technologie, takie jak usługi internetowe, aplikacje Windows Phone, aplikacje internetowe itp.
- Kodowany interfejs użytkownika umożliwia programistom i testerom oprogramowania efektywną współpracę przy użyciu tych samych narzędzi / języka
- Zawartość lub plik utworzony przy użyciu kodowanego interfejsu użytkownika obejmuje pliki
- UIMap.Designer.cs
- UIMap.cs
- CodedUITest1.cs
- UIMap.uitest