Coded UI Test Automation Framework Handledning

⚡ Smart sammanfattning

Coded UI Test (CUIT) är en automatiserad testfunktion i Visual Studio som driver ett program via dess användargränssnitt. Här får du lära dig vad CUIT är, dess funktioner, vilka tekniker som stöds, hur man skapar tester och bästa praxis.

  • 🖥️ Vad det är: Coded UI Testkör en applikation via dess användargränssnitt (UI).
  • 🎬 Inspelning: Spela in UI-åtgärder i Visual Studio för att generera testkod.
  • 🧰 Teknik: CUIT stöder webb, WPF, Windows Formulär och andra UI-tekniker.
  • ???? Vs Selenium/QTP: Tycka om Selenium och QTP, CUIT automatiserar funktionell UI-testning.
  • 🤖 AI-hjälp: AI-verktyg som GitHub Copilot hjälper till att generera och underhålla UI-testkod.

Coded UI-test (CUIT)

En typisk mjukvaruautomatisering Testning kräver automationsverktyg som Selenium och QTP. Coded UI liknar dessa verktyg och kan vara särskilt användbart för funktionstester.

Coded UI Test (CUIT) använder Visual Studio IDE för att skriva skript, eftersom inspelningen kan göras med hjälp av Visual Studio.

Vad är Coded UI-test?

Coded UI-test (CUIT) är ett automatiserat test som driver applikationer via sitt användargränssnitt (UI). Därav namnet Coded UI-test (CUIT). Detta test omfattar funktionstestning av UI-kontrollerna. Den kontrollerar funktionaliteten för hela applikationen, inklusive användargränssnittet. Det används också för att automatisera ett befintligt manuellt test.

Coded UI-test

UI-test Architecture

Coded UI-testfunktioner

Coded UI-funktioner inkluderar

  • funktions~~POS=TRUNC
  • Generera kod i VB/C#
  • Integrerad med ALM story
  • Bygg, distribuera och testa i labbet eller som en del av en build
  • Lokala, fjärrkörningar, datainsamling
  • Rik töjbarhet
  • Avsiktsmedveten inspelning och spänstig uppspelning

Coded UI-test (CUIT) Teknologier som stöds

Med kodat UI kan en applikation som har UI (User Interface) enkelt testas. Applikationen kan vara antingen fönsterbaserad eller webbaserad.

Coded UI stöder tekniker som

  • Fönsterbaserade skrivbordsapplikationer
  • Webbtjänster (SOAP, ASPX, etc.)
  • Fönstertelefonapplikationer
  • WPF (Windows Presentation Foundation)
  • Webbapplikationer (HTML, Silverlight, HTML5)

Varför använda kodat användargränssnitt för testautomatisering

Anledningen till att kodat användargränssnitt för testautomatisering är att föredra

  • Utvecklare och mjukvarutestare kan samarbeta effektivt med samma verktyg/språk.
  • Den stöder både webb och Windows projekt.
  • Elementidentifieringsmekanismen är en utmärkt funktion i Coded UI. Det stöder också synkronisering
  • Playback Engine stöder funktioner som "WaitForControlExist", "WaitForReadyLevel", etc.
  • Med hjälp av "Testagenter" kan automatiseringstester köras på fjärrdatorer
  • Automationsteam kan utveckla sofistikerade tester med hjälp av kodat användargränssnitt med ett skiktat ramverk
  • Programvarutestare kan fånga undantag och registrera resultatet effektivt med hjälp av log4net.dll
  • Coded UI-verktyg stöder beskrivande programmering. Det tillåter programvarutestare att automatisera scenarier baserat på objektegenskaper
  • Den stöder AJAX-kontroller.

Hur man skapar Coded UI-tester (CUIT)

För att skapa kodade UI-tester kan du göra det på följande sätt.

  • Generera från en befintlig åtgärdsinspelning (konvertering från manuell testinspelning)
  • Skapa ett nytt kodat UI-test från början
  • Skriva kod från grunden

Innehållet i en Coded UI-test

När du skapar ett kodat UI-test skapar den kodade UI-testbyggaren en karta. Detta inkluderar UI under test, testmetoder, parametrar, påståenden, etc. För varje test skapas också en klassfil.

Fil Innehåll Redigerbar
UIMap.Designer.cs Deklarationsavsnitt UIMap Class Methods Properties Nej
UIMap.cs UIMap-klass (delvis) Ja
CodedUITest1.cs CodeUITest1-klass Metodegenskaper Ja
UIMap.uitest XML-kartan för UI för testet. Den redigeras endast genom UI Map editor Nej
  1. UIMap.Designer.cs : Designern innehåller kodvyn för UIMap. Den genereras när en testare registrerar någon UI-interaktion eller när vissa objekt läggs till manuellt i UIMap.
  2. UIMap.cs: Alla ändringar eller anpassningar som gjorts av UIMap lagras i den här filen. Till en början kommer den här filen att vara tom och kan fyllas i senare. Om ändringar görs direkt i filen UIMap.designer.cs, se till att den inte registreras, annars kommer alla ändringar att gå förlorade.
  • CodedUITest1.cs: Den här filen innehåller kodad UI-testklass, testmetoder, påståendeanrop och metodanrop. Alla påståenden och metoder anropas som standard från denna fil.
  • UIMap.uitest: Det är en XML-representation av UIMap-klassen. Det inkluderar fönster, kontroller, egenskaper, metoder, åtgärder och påståenden. Den redigeras endast genom UI Map editor

Nästa i detta Coded UI-handledning, vi lär oss hur man utför Coded UI-automatiseringstest.

Hur man utför Coded UI-test

Coded UI har två olika sätt att utföra ett test för din applikation.

  1. Coded UI-inspelning och uppspelning eller
  2. Coded UI Handkodning

Du måste följa följande steg för att utföra Coded UI-testning,

  1. Skapa en CodedUI-testprojekt
  2. Lägg till en kodad UI-testfil
  3. Spela in en sekvens av åtgärder
  4. Verifiera värdena i gränssnittsfält som textrutor
  5. Se den genererade testkoden
  6. Lägg till fler åtgärder och påståenden
  7. Redigera detaljerna för testaktiviteterna och påståendena
  8. Kör testet

Bästa metoder för Coded UI-test (CUIT)

Här är några bästa praxis för en Coded Ramverk för automatisering av användargränssnittstester:

  • Använd Coded UI-automatiseringstestbyggare när det är möjligt
  • Försök att inte ändra filen UIMap.designer.cs direkt. Annars kommer ändringarna du gjort i filen att skrivas över
  • Skapa ditt test som en sekvens av inspelade metoder
  • Varje inspelad metod bör fungera på en enda sida, formulär eller dialogruta. Skapa också en ny testmetod för varje nytt formulär, sida eller dialogruta
  • När du skapar en metod använder du ett meningsfullt metodnamn istället för standardnamnet. Ett meningsfullt namn hjälper till att identifiera syftet med metoden
  • Om möjligt, begränsa varje inspelad metod till färre än 10 åtgärder. Detta tillvägagångssätt gör det lättare att ersätta en metod om användargränssnittet ändras.
  • För att skapa påståenden, använd CodedUI-testbyggare. Den lägger automatiskt till en assertionmetod i UIMap.Designer.cs-filen.
  • Spela in testmetoderna/påståendemetoderna på nytt, om användargränssnittet ändras eller omregistrerar de berörda delarna av en befintlig testmetod.
  • Om du kodar direkt med API:t, använd metoderna och egenskaperna i klasserna som skapats i filen UIMap.Designer.cs. Dessa klasser kommer att göra ditt arbete mer pålitligt och enklare och hjälper dig att bli mer produktiv.

Jämförelse av Coded UI-test jämfört med Selenium Vs QTP

Nedan finns jämförelsetabellen för Coded UI Vs Selenium Vs QTP:

  • Selenium stöder inte någon WPF också Windows tillämpningar
  • Visual Studio CodedUI stöder Windows Store-applikationstestning samt Windows Phone-applikationstestning. Inga andra verktyg stöder detta.
  • Test complete stöder Window Application men kräver en plugin för att installeras.

Coded UI-test jämfört med Selenium Vs QTP

Jämförelse av Coded UI-test jämfört med Selenium Vs QTP

Vanliga frågor

Coded UI-test är ett automatiserat test som driver en applikation via dess användargränssnitt. Visual Studio registrerar UI-åtgärder och genererar C#- eller VB.NET-testskript.

CUIT stöder webbapplikationer, Windows Presentation Foundation (WPF), Windows Formulär och andra UI-tekniker i dator- och webbläsargränssnitt.

I Visual Studio, lägg till en Coded UI-testprojekt, registrera sedan UI-åtgärder med Coded UI Test Builder eller skriv dem manuellt. Inspelaren genererar UIMap och testmetoder.

Alla tre automatiserar funktionell UI-testning. Selenium riktar sig mot webbläsare, QTP stöder många tekniker, och Coded UI är integrerat med Visual Studio för .NET.

A Coded UI-testet inkluderar UIMap.Designer.cs, UIMap.cs, CodedUITest1.cs och UIMap.uitest. UIMap-filerna lagrar definitioner av UI-element, och testfilen innehåller testmetoderna.

AI-assistenter som GitHub Copilot kompletterar automatiskt testmetoder, genererar påståenden och föreslår selektorer för Coded UI eller Selenium testskript.

Ja. AI-drivna testverktyg genererar testfall, reparerar trasiga selektorer själv när användargränssnittet ändras och konverterar inspelade steg till kod.

Coded UI-testet är föråldrat i Visual Studio 2019 och ingår inte i Visual Studio 2022. Microsoft rekommenderar alternativ som Selenium or Appium för nya projekt.

Sammanfatta detta inlägg med: