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: