CodeSamouczek dotyczący frameworka automatyzacji testów interfejsu użytkownika

⚡ Inteligentne podsumowanie

CodeTest interfejsu użytkownika (CUIT) to funkcja automatycznego testowania w programie Visual Studio, która steruje aplikacją za pośrednictwem interfejsu użytkownika. W tym artykule dowiesz się, czym jest CUIT, jakie są jego funkcje, obsługiwane technologie, jak tworzyć testy i jakie są najlepsze praktyki.

  • 🖥️. Co to jest: CodeTest interfejsu użytkownika (UI) steruje aplikacją za pomocą interfejsu użytkownika (UI).
  • 🎬 Nagranie: Rejestruj akcje interfejsu użytkownika w programie Visual Studio w celu wygenerowania kodu testowego.
  • 🧰 Technologie: CUIT obsługuje web, WPF, Windows Formularze i inne technologie interfejsu użytkownika.
  • 🆚 Vs Selenium/QTP: Jak Selenium oraz QTPCUIT automatyzuje funkcjonalne testowanie interfejsu użytkownika.
  • 🤖 Pomoc AI: Narzędzia AI, takie jak GitHub Copilot, pomagają generować i utrzymywać kod testowy interfejsu użytkownika.

CodeTest interfejsu użytkownika (CUIT)

Typowa automatyzacja oprogramowania Testy wymaga narzędzi do automatyzacji, takich jak Selenium oraz QTP. CodeInterfejs użytkownika d jest podobny do tych narzędzi i może być szczególnie przydatny w przypadku testów funkcjonalnych.

Coded UI Test (CUIT) wykorzystuje środowisko IDE programu Visual Studio do pisania skryptów, ponieważ nagrywanie można wykonać za pomocą visual Studio.

Czym jest CodeTest interfejsu użytkownika?

CodeTest interfejsu użytkownika (CUIT) to zautomatyzowany test, który steruje aplikacjami za pośrednictwem interfejsu użytkownika (UI). Stąd nazwa CodeTest UI (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.

CodeTest interfejsu użytkownika

Test interfejsu użytkownika Architektura

CodeFunkcje testu interfejsu użytkownika

CodeFunkcje 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

CodeObsługiwane technologie 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.

CodeInterfejs użytkownika d 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ą Coded UI. Obsługuje również 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
  • CodeNarzędzie interfejsu użytkownika d obsługuje programowanie opisowe. Umożliwia testerom oprogramowania automatyzację scenariuszy w oparciu o właściwości obiektu
  • Obsługuje kontrolki AJAX.

Jak stworzyć CodeTesty 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ść CodeTest 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 CodeWłaściwości metod klasy UITest1 Tak
UIMap.najtestowany Mapa XML interfejsu użytkownika dla testu. Można go edytować wyłącznie za pomocą edytora map interfejsu użytkownika Nie
  1. 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.
  2. 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

Dalej w tym Codesamouczek interfejsu użytkownika, nauczymy się, jak wykonać Coded Automatyzacja testów interfejsu użytkownika.

Jak wystąpić CodeTest interfejsu użytkownika

CodeInterfejs użytkownika d oferuje dwa różne sposoby przeprowadzania testów aplikacji.

  1. Coded UI Nagrywanie i odtwarzanie lub
  2. Coded UI Kodowanie ręczne

Aby wykonać tę czynność, należy wykonać następujące czynności: Codetestowanie interfejsu użytkownika,

  1. Stwórz CodeProjekt testowy dUI
  2. Dodaj zakodowany plik testowy interfejsu użytkownika
  3. Zapisz sekwencję działań
  4. Sprawdź wartości w polach interfejsu użytkownika, takich jak pola tekstowe
  5. Wyświetl wygenerowany kod testowy
  6. Dodaj więcej akcji i asercji
  7. Edytuj szczegóły działań testowych i twierdzeń
  8. Uruchom test

Najlepsze praktyki dla CodeTest interfejsu użytkownika (CUIT)

Oto kilka najlepszych praktyk dla Coded Struktura automatyzacji testów interfejsu użytkownika:

  • Użyj Coded Automatyzacja interfejsu użytkownika Test Builder zawsze, gdy jest to możliwe
  • 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 CodeKreator testów dUI. Automatycznie dodaje metodę asercji 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 Coded Test interfejsu użytkownika kontra Selenium Vs QTP

Poniżej znajduje się tabela porównawcza Coded UI kontra Selenium Vs 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.

Coded Test interfejsu użytkownika kontra Selenium Vs QTP

Porównanie Coded Test interfejsu użytkownika kontra Selenium Vs QTP

FAQ

CodeTest interfejsu użytkownika to zautomatyzowany test, który steruje aplikacją za pośrednictwem interfejsu użytkownika. Program Visual Studio rejestruje akcje interfejsu użytkownika i generuje skrypty testowe w języku C# lub VB.NET.

CUIT obsługuje aplikacje internetowe, Windows Prezentacja Foundation (WPF), Windows Formularze i inne technologie interfejsu użytkownika w interfejsach komputerów stacjonarnych i przeglądarek.

W programie Visual Studio dodaj Codeprojekt testu interfejsu użytkownika, a następnie zarejestruj działania interfejsu użytkownika za pomocą Coded UI Test Builder lub napisz je ręcznie. Rejestrator generuje UIMap i metody testowe.

Wszystkie trzy narzędzia automatyzują funkcjonalne testowanie interfejsu użytkownika. Selenium ma na celu przeglądarki internetowe, QTP obsługuje wiele technologii i CodeInterfejs użytkownika d jest zintegrowany z programem Visual Studio dla platformy .NET.

A CodeTest interfejsu użytkownika obejmuje pliki UIMap.Designer.cs, UIMap.cs, CodedUITest1.cs i UIMap.uitest. Pliki UIMap przechowują definicje elementów interfejsu użytkownika, a plik testowy zawiera metody testowe.

Asystenci AI, tacy jak GitHub Copilot, automatycznie uzupełniają metody testowania, generują potwierdzenia i sugerują selektory Coded UI lub Selenium skrypty testowe.

Tak. Narzędzia testowe oparte na sztucznej inteligencji generują przypadki testowe, samodzielnie naprawiają uszkodzone selektory po zmianie interfejsu użytkownika i konwertują zarejestrowane kroki na kod.

CodeTest interfejsu użytkownika d jest przestarzały w programie Visual Studio 2019 i nie jest uwzględniony w programie Visual Studio 2022. Microsoft poleca alternatywy takie jak Selenium or Appium dla nowych projektów.

Podsumuj ten post następująco: