Coded UI Test Automation Framework Tutorial

⚡ Smart opsummering

Coded UI Test (CUIT) er en automatiseret testfunktion i Visual Studio, der driver en applikation via dens brugergrænseflade. Her lærer du, hvad CUIT er, dens funktioner, understøttede teknologier, hvordan man opretter tests, og bedste praksis.

  • 🖥️ Hvad er det: Coded UI Testkører en applikation via dens brugergrænseflade (UI).
  • 🎬 Indspilning: Optag UI-handlinger i Visual Studio for at generere testkode.
  • 🧰 teknologier: CUIT understøtter web, WPF, Windows Formularer og andre brugergrænsefladeteknologier.
  • 🆚 Vs Selenium/QTP: lignende Selenium og QTP, CUIT automatiserer funktionel UI-testning.
  • 🤖 AI-hjælp: AI-værktøjer som GitHub Copilot hjælper med at generere og vedligeholde UI-testkode.

Coded UI-test (CUIT)

En typisk softwareautomatisering Test kræver automatiseringsværktøjer som Selenium og QTP. Coded UI ligner disse værktøjer og kan være særligt nyttig til funktionelle tests.

Coded UI Test (CUIT) bruger Visual Studio IDE til at skrive scripts, da optagelsen kan udføres vha. Visual Studio.

Hvad er Coded UI-test?

Coded UI-test (CUIT) er en automatiseret test, der driver applikationer via dens brugergrænseflade (UI). Deraf navnet Coded UI-test (CUIT). Denne test involverer funktionstest af UI-kontrollerne. Den kontrollerer funktionaliteten af ​​hele applikationen, inklusive brugergrænsefladen. Det bruges også til at automatisere en eksisterende manuel test.

Coded UI-test

UI test Architecture

Coded UI-testfunktioner

Coded UI-funktioner inkluderer

  • Funktionstest
  • Generer kode i VB/C#
  • Integreret med ALM story
  • Byg, implementer og test i laboratoriet eller som en del af en build
  • Lokale, fjernkørsel, dataindsamling
  • Rig udvidelsesmuligheder
  • Hensigtsbevidst optagelse og modstandsdygtig afspilning

Coded UI Test (CUIT) Understøttede teknologier

Med kodet UI kan en applikation, der har UI (User Interface) nemt testes. Applikationen kan enten være vinduesbaseret eller webbaseret.

Coded UI understøtter teknologier som

  • Vinduesbaserede desktop-applikationer
  • Webtjenester (SOAP, ASPX osv.)
  • Vinduestelefon applikationer
  • WPF (Windows Præsentation Foundation)
  • Webapplikationer (HTML, Silverlight, HTML5)

Hvorfor bruge kodet brugergrænseflade til testautomatisering

Grunden til, at kodet UI til testautomatisering foretrækkes

  • Udviklere og softwaretestere kan samarbejde effektivt med de samme værktøjer/sprog.
  • Det understøtter både web og Windows projekter.
  • Elementidentifikationsmekanismen er en fremragende funktion i Coded UI. Den understøtter også synkronisering
  • Playback Engine understøtter funktioner såsom 'WaitForControlExist', 'WaitForReadyLevel' osv.
  • Ved hjælp af 'Test Agents' kan automatiseringstest køres på fjernmaskiner
  • Automatiseringsteams kan udvikle sofistikerede tests ved hjælp af kodet brugergrænseflade med en lagdelt ramme
  • Softwaretestere kan fange undtagelser og registrere resultatet effektivt ved at bruge log4net.dll
  • Coded UI-værktøj understøtter beskrivende programmering. Det giver softwaretestere mulighed for at automatisere scenarier baseret på objektegenskaber
  • Det understøtter AJAX-kontroller.

Sådan opretter du Coded UI-tests (CUIT)

For at oprette kodede UI-tests kan du gøre det på følgende måder.

  • Generering fra en eksisterende handlingsoptagelse (konvertering fra manuel testoptagelse)
  • Oprettelse af en ny kodet UI-test fra bunden
  • Skrive kode fra bunden

Indholdet af en Coded UI-test

Når du opretter en kodet UI-test, opretter den kodede UI-testbygger et kort. Dette inkluderer UI under test, testmetoder, parametre, påstande osv. For hver test opretter den også en klassefil.

File (Felt) Indhold Redigerbar
UIMap.Designer.cs Erklæringsafsnit UIMap Class Methods Properties Ingen
UIMap.cs UIMap-klasse (delvis) Ja
CodedUITest1.cs CodeUITest1 klasse Metoder Egenskaber Ja
UIMap.uitest XML-kortet over brugergrænsefladen til testen. Det redigeres kun gennem UI Map editor Ingen
  1. UIMap.Designer.cs : Designeren indeholder kodevisningen af ​​UIMap. Det genereres, når en tester registrerer en UI-interaktion, eller når nogle objekter tilføjes manuelt til UIMap.
  2. UIMap.cs: Enhver ændring eller tilpasning af UIMap'et gemmes i denne fil. Til at begynde med vil denne fil være tom og kan udfyldes senere. Hvis der foretages ændringer direkte i UIMap.designer.cs-filen, skal du sørge for, at den ikke er registreret, ellers vil alle ændringer gå tabt.
  • CodedUITest1.cs: Denne fil indeholder kodet UI-testklasse, testmetoder, påstandsindkaldelse og metodekald. Alle påstande og metoder er som standard påberåbt fra denne fil.
  • UIMap.uitest: Det er en XML-repræsentation af UIMap-klassen. Det inkluderer vinduer, kontroller, egenskaber, metoder, handlinger og påstande. Det redigeres kun gennem UI Map editor

Næste i denne Coded UI-tutorial, vi lærer hvordan man udfører Coded UI-automatiseringstest.

Sådan udføres Coded UI-test

Coded UI har to forskellige måder at udføre en test for din applikation på.

  1. Coded UI-optagelse og -afspilning eller
  2. Coded UI Håndkodning

Du skal følge følgende trin for at udføre Coded UI-testning,

  1. Opret en CodedUI testprojekt
  2. Tilføj en kodet UI-testfil
  3. Optag en sekvens af handlinger
  4. Bekræft værdierne i UI-felter såsom tekstbokse
  5. Se den genererede testkode
  6. Tilføj flere handlinger og påstande
  7. Rediger detaljerne om testaktiviteterne og påstandene
  8. Kør testen

Bedste praksis for Coded UI-test (CUIT)

Her er nogle bedste fremgangsmåder for en Coded UI-testautomatiseringsramme:

  • Brug Coded UI-automatiseringstestbygger når det er muligt
  • Prøv ikke at ændre filen UIMap.designer.cs direkte. Ellers vil de ændringer, du har foretaget i filen, blive overskrevet
  • Opret din test som en sekvens af registrerede metoder
  • Hver optaget metode skal virke på en enkelt side, formular eller dialogboks. Opret også en ny testmetode for hver ny formular, side eller dialogboks
  • Når du opretter en metode, skal du bruge et meningsfuldt metodenavn i stedet for standardnavnet. Et meningsfuldt navn hjælper med at identificere formålet med metoden
  • Hvis det er muligt, begræns hver optaget metode til mindre end 10 handlinger. Denne tilgang gør det lettere at erstatte en metode, hvis brugergrænsefladen ændres.
  • For at oprette påstande, brug CodedUI test builder. Den tilføjer automatisk en assertion-metode til UIMap.Designer.cs-filen.
  • Genoptag testmetoderne/påstandsmetoderne, hvis brugergrænsefladen ændrer eller genregistrerer de berørte sektioner af en eksisterende testmetode.
  • Hvis du koder direkte med API'en, skal du bruge metoderne og egenskaberne i de klasser, der er oprettet i filen UIMap.Designer.cs. Disse klasser vil gøre dit arbejde mere pålideligt og lettere, og vil hjælpe dig til at være mere produktiv.

Sammenligning af Coded UI-test vs. Selenium Vs QTP

Nedenfor er sammenligningstabellen for Coded UI vs. Selenium Vs QTP:

  • Selenium understøtter ikke nogen WPF samt Windows applikationer
  • Visual Studio CodedUI understøtter Window Store-applikationstestning såvel som Window Phone-applikationstest. Ingen andre værktøjer understøtter dette.
  • Test komplet understøtter Window Application, men kræver et plugin for at blive installeret.

Coded UI-test vs. Selenium Vs QTP

Sammenligning af Coded UI-test vs. Selenium Vs QTP

Ofte Stillede Spørgsmål

Coded UI-test er en automatiseret test, der driver en applikation via dens brugergrænseflade. Visual Studio registrerer UI-handlinger og genererer C#- eller VB.NET-testscripts.

CUIT understøtter webapplikationer, Windows Præsentation Foundation (WPF), Windows Formularer og andre brugergrænsefladeteknologier på tværs af desktop- og browsergrænseflader.

I Visual Studio skal du tilføje en Coded UI Test-projekt, og optag derefter UI-handlinger med Coded UI Test Builder eller skriv dem manuelt. Optageren genererer UIMap og testmetoder.

Alle tre automatiserer funktionel UI-testning. Selenium målretter webbrowsere, QTP understøtter mange teknologier, og Coded UI er integreret med Visual Studio til .NET.

A Coded UI-testen inkluderer UIMap.Designer.cs, UIMap.cs, CodedUITest1.cs og UIMap.uitest. UIMap-filerne gemmer definitioner af brugergrænsefladeelementer, og testfilen indeholder testmetoderne.

AI-assistenter som GitHub Copilot autofuldfører testmetoder, genererer assertions og foreslår selektorer til Coded brugergrænseflade eller Selenium testscripts.

Ja. AI-drevne testværktøjer genererer testcases, reparerer selv defekte selektorer, når brugergrænsefladen ændres, og konverterer registrerede trin til kode.

Coded UI Test er udfaset i Visual Studio 2019 og er ikke inkluderet i Visual Studio 2022. Microsoft anbefaler alternativer som f.eks. Selenium or Appium til nye projekter.

Opsummer dette indlæg med: