Samouczek dotyczący platformy kodowanej automatyzacji testów interfejsu użytkownika
Typowa automatyzacja oprogramowania Testowanie 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) wykorzystuje środowisko IDE programu Visual Studio do pisania skryptów, ponieważ nagrywanie można wykonać za pomocą visual Studio.
Co to jest kodowany test interfejsu użytkownika?
Kodowany test interfejsu użytkownika (CUIT) to zautomatyzowany test, który steruje aplikacjami poprzez interfejs użytkownika (UI). Stąd nazwa Kodowany test interfejsu użytkownika (CUIT). Ten test obejmuje testy funkcjonalności elementów sterujących interfejsu użytkownika. Sprawdza funkcjonalność całej aplikacji, łącznie z interfejsem użytkownika. Służy również do automatyzacji istniejącego testu ręcznego.

Test interfejsu użytkownika Architektura
Kodowane funkcje testu interfejsu użytkownika
Zakodowane funkcje interfejsu użytkownika obejmują
- Testy funkcjonalne
- Wygeneruj kod w VB/C#
- Zintegrowany z historią ALM
- Twórz, wdrażaj i testuj w laboratorium lub w ramach kompilacji
- Uruchomienia lokalne, zdalne, gromadzenie danych
- Bogata rozszerzalność
- Nagrywanie świadome intencji i niezawodne odtwarzanie
Obsługiwane technologie kodowanego testu interfejsu użytkownika (CUIT).
Dzięki kodowanemu interfejsowi użytkownika można łatwo przetestować aplikację posiadającą interfejs użytkownika (UI). Aplikacja może działać w trybie okienkowym lub internetowym.
Kodowany interfejs użytkownika obsługuje technologie takie jak
- Aplikacje desktopowe oparte na systemie Windows
- Usługi internetowe (SOAP, ASPX itp.)
- Aplikacje na telefon z oknem
- WPF (Windows Prezentacja Foundation)
- Aplikacje internetowe (HTML, Silverlight, HTML5)
Po co 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ć, korzystając z tych samych narzędzi/języka.
- Obsługuje zarówno strony internetowe, jak i Windows projektów.
- Mechanizm identyfikacji elementów jest świetną funkcją w Coded UI. Ponadto obsługuje synchronizację
- Silnik odtwarzania obsługuje funkcje takie jak „WaitForControlExist”, „WaitForReadyLevel” itp.
- Za pomocą „Agentów testowych” można uruchamiać testy automatyczne na zdalnych komputerach
- Zespoły automatyzujące mogą opracowywać zaawansowane testy, korzystając z kodowanego interfejsu użytkownika z warstwową strukturą
- Testerzy oprogramowania mogą wychwytywać wyjątki i efektywnie rejestrować wyniki, wykorzystując plik log4net.dll
- Obsługuje kodowane narzędzie interfejsu użytkownika programowanie opisowe. Umożliwia testerom oprogramowania automatyzację scenariuszy w oparciu o właściwości obiektu
- Obsługuje kontrolki AJAX.
Jak tworzyć kodowane testy interfejsu użytkownika (CUIT)
Aby utworzyć zakodowane testy interfejsu użytkownika, można to zrobić na następujące sposoby.
- Generowanie z istniejącego nagrania akcji (konwersja z ręcznego nagrania testowego)
- Tworzenie od podstaw nowego, zakodowanego testu interfejsu użytkownika
- Pisanie kodu od zera
Zawartość kodowanego testu interfejsu użytkownika
Kiedy tworzysz kodowany test interfejsu użytkownika, konstruktor kodowanego testu interfejsu użytkownika tworzy mapę. Obejmuje to testowany interfejs użytkownika, metody testowania, parametry, potwierdzenia itp. Dla każdego testu tworzony jest również plik klasy.
filet | Treść | 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.najtestowany | Mapa XML interfejsu użytkownika dla testu. Można go edytować wyłącznie za pomocą edytora map 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 plik ten będzie pusty i może zostać wypełniony później. Jeśli modyfikacje są wprowadzane bezpośrednio w pliku UIMap.designer.cs, upewnij się, że nie są rejestrowane, 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 asercje i metody są domyślnie wywoływane z tego pliku.
- UIMap.najtestowany: Jest to reprezentacja XML klasy UIMap. Obejmuje okna, kontrolki, właściwości, metody, akcje i asercje. Jest edytowana tylko za pomocą edytora UI Map
W dalszej części tego samouczka dotyczącego kodowanego interfejsu użytkownika dowiemy się, jak przeprowadzić test automatyzacji kodowanego interfejsu użytkownika.
Jak wykonać 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
Aby wykonać testowanie kodowanego interfejsu użytkownika, należy wykonać następujące czynności:
- Utwórz projekt testowy CodedUI
- Dodaj zakodowany plik testowy interfejsu użytkownika
- Zapisz 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 asercji
- Edytuj szczegóły działań testowych i twierdzeń
- Uruchom test
Najlepsze praktyki dotyczące kodowanego testu interfejsu użytkownika (CUIT)
Oto kilka najlepszych praktyk w zakresie platformy automatyzacji testów Coded UI:
- Jeśli to możliwe, korzystaj z narzędzia do tworzenia testów automatyzacji kodowanego interfejsu użytkownika
- Staraj się nie modyfikować pliku UIMap.designer.cs bezpośrednio. W przeciwnym razie zmiany, które wprowadziłeś do pliku, zostaną nadpisane
- Utwórz test jako sekwencję zarejestrowanych metod
- Każda zarejestrowana metoda powinna działać na pojedynczej stronie, formularzu lub oknie dialogowym. Ponadto utwórz nową metodę testową dla każdego nowego formularza, strony lub okna dialogowego
- Tworząc metodę, zamiast nazwy domyślnej użyj znaczącej nazwy metody. Znacząca nazwa pomaga określić 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 w przypadku zmiany interfejsu użytkownika.
- Aby utworzyć asercję, użyj narzędzia do tworzenia testów CodedUI. Automatycznie dodaje metodę potwierdzenia do pliku UIMap.Designer.cs.
- Zapisz ponownie metody testowe/metody potwierdzenia, jeśli interfejs użytkownika zmienia lub ponownie rejestruje 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. Zajęcia te sprawią, że Twoja praca będzie bardziej niezawodna i łatwiejsza, a także pomogą Ci być bardziej produktywnym.
Porównanie kodowanego testu interfejsu użytkownika z testem interfejsu użytkownika Selenium W porównaniu z QTP
Poniżej znajduje się tabela porównawcza kodowanego interfejsu użytkownika z interfejsem użytkownika Selenium W porównaniu z QTP:
- Selenium nie obsługuje również żadnego WPF Windows aplikacje
- Visual Studio CodedUI obsługuje testowanie aplikacji sklepu Windows oraz testowanie aplikacji Windows Phone. Żadne inne narzędzia tego nie obsługują.
- Test zakończony obsługuje aplikację Windows, ale wymaga zainstalowania wtyczki.
Porównanie kodowanego testu interfejsu użytkownika z testem interfejsu użytkownika Selenium W porównaniu z QTP
Podsumowując:
- Zautomatyzowane testy, które sterują aplikacją za pośrednictwem interfejsu użytkownika (UI), są znane jako testy CodedUI (CUIT).
- Kodowana platforma automatyzacji testów interfejsu użytkownika obsługuje technologie takie jak usługi internetowe, aplikacje na telefony z systemem Windows, aplikacje internetowe itp.
- Kodowane testowanie interfejsu użytkownika umożliwia programistom i Testerzy oprogramowania efektywnie współpracować przy użyciu tych samych narzędzi/języka
- Zawiera zawartość lub plik utworzony podczas korzystania z CodedUI
- UIMap.Designer.cs
- UIMap.cs
- CodedUITest1.cs
- UIMap.najtestowany