Gecodeerde UI Test Automation Framework-zelfstudie

Een typische softwareautomatisering Testen vereist automatiseringstools zoals Selenium en QTP. Gecodeerde gebruikersinterface is vergelijkbaar met deze tools en kan met name handig zijn voor functionele tests.

Coded UI Test (CUIT) gebruikt Visual Studio IDE om scripts te schrijven, aangezien de opname kan worden gedaan met behulp van Visual Studio.

Wat is een gecodeerde UI-test?

Gecodeerde UI-test (CUIT) is een geautomatiseerde test die applicaties via de gebruikersinterface (UI) stuurt. Vandaar de naam Coded UI Test (CUIT). Deze proef houdt in functioneel testen van de UI-besturingselementen. Het controleert de functionaliteit van de hele applicatie, inclusief de gebruikersinterface. Het wordt ook gebruikt om een ​​bestaande handmatige test te automatiseren.

Gecodeerde UI-test

UI-test Architectuur

Gecodeerde UI-testfuncties

Gecodeerde UI-functies omvatten

  • Functioneel testen
  • Code genereren in VB/C#
  • Geïntegreerd met ALM-verhaal
  • Bouw, implementeer en test in het laboratorium of als onderdeel van een build
  • Lokaal, op afstand rennen, gegevensverzameling
  • Rijke uitbreidbaarheid
  • Doelbewust opnemen en veerkrachtig afspelen

Gecodeerde UI-test (CUIT) ondersteunde technologieën

Met een gecodeerde gebruikersinterface kan een applicatie met een gebruikersinterface (UI) eenvoudig worden getest. De applicatie kan zowel op een venster als op een web gebaseerd zijn.

Gecodeerde gebruikersinterface ondersteunt technologieën zoals

  • Op vensters gebaseerde desktopapplicaties
  • Webservices (SOAP, ASPX, enz.)
  • Venstertelefoontoepassingen
  • WPF (Windows Presentatie Foundation)
  • Webapplicaties (HTML, Silverlight, HTML5)

Waarom een ​​gecodeerde gebruikersinterface gebruiken voor testautomatisering?

De reden waarom een ​​gecodeerde gebruikersinterface voor testautomatisering de voorkeur heeft

  • Ontwikkelaars en softwaretesters kunnen effectief samenwerken met dezelfde tools/taal.
  • Het ondersteunt zowel internet als Windows projecten.
  • Het elementidentificatiemechanisme is een geweldige functie in Coded UI. Het ondersteunt ook synchronisatie
  • De afspeelengine ondersteunt functies zoals 'WaitForControlExist', 'WaitForReadyLevel', enz.
  • Met behulp van 'Tests Agents' kunnen automatiseringstests op externe machines worden uitgevoerd
  • Automatiseringsteams kunnen geavanceerde tests ontwikkelen met behulp van een gecodeerde gebruikersinterface met een gelaagd raamwerk
  • Softwaretesters kunnen uitzonderingen vastleggen en het resultaat effectief vastleggen met behulp van log4net.dll
  • Gecodeerde UI-tool ondersteunt beschrijvende programmering. Hiermee kunnen softwaretesters scenario's automatiseren op basis van objecteigenschappen
  • Het ondersteunt AJAX-besturingselementen.

Gecodeerde UI-tests (CUIT) maken

U kunt gecodeerde UI-tests op de volgende manieren maken.

  • Genereren op basis van een bestaande actieopname (conversie van handmatige testopname)
  • Een geheel nieuwe gecodeerde UI-test maken
  • Code vanaf nul schrijven

Inhoud van een gecodeerde UI-test

Wanneer u een gecodeerde UI-test maakt, maakt de gecodeerde UI-testbouwer een kaart. Dit omvat de geteste gebruikersinterface, testmethoden, parameters, beweringen, enz. Voor elke test wordt ook een klassenbestand gemaakt.

Dien in Content Bewerkbaar
UIMap.Designer.cs Declaratiesectie UIMap Class Methods Properties Nee
UIMap.cs UIMap-klasse (gedeeltelijk) Ja
CodedUITest1.cs CodeUITest1 klasse Methoden Eigenschappen Ja
UIMap.uitest De XML-kaart van de gebruikersinterface voor de test. Het wordt alleen bewerkt via de UI Map-editor Nee
  1. UIMap.Designer.cs : De ontwerper bevat de codeweergave van de UIMap. Het wordt gegenereerd wanneer een tester enige UI-interactie registreert of wanneer sommige objecten handmatig aan de UIMap worden toegevoegd.
  2. UIMap.cs: Alle wijzigingen of aanpassingen die aan de UIMap worden gedaan, worden in dit bestand opgeslagen. In eerste instantie is dit bestand leeg en kan het later worden gevuld. Als er rechtstreeks wijzigingen worden aangebracht in het bestand UIMap.designer.cs, zorg er dan voor dat dit niet wordt vastgelegd, anders gaan alle wijzigingen verloren.
  • CodedUITest1.cs: dit bestand bevat een gecodeerde UI-testklasse, testmethoden, aanroep van beweringen en aanroep van methoden. Alle beweringen en methoden worden standaard vanuit dit bestand aangeroepen.
  • UIMap.uitest: Het is een XML-representatie van de UIMap-klasse. Het bevat vensters, besturingselementen, eigenschappen, methoden, acties en beweringen. Het wordt alleen bewerkt via de UI Map-editor

Vervolgens leren we in deze Coded UI-tutorial hoe u de Coded UI-automatiseringstest kunt uitvoeren.

Hoe u een gecodeerde UI-test uitvoert

Gecodeerde gebruikersinterface heeft twee verschillende manieren om een ​​test voor uw toepassing uit te voeren.

  1. Gecodeerde gebruikersinterface Opnemen en afspelen of
  2. Gecodeerde gebruikersinterface Handcodering

U moet de volgende stappen volgen om gecodeerde UI-tests uit te voeren:

  1. Maak een CodedUI-testproject
  2. Voeg een gecodeerd UI-testbestand toe
  3. Registreer een reeks acties
  4. Controleer de waarden in UI-velden zoals tekstvakken
  5. Bekijk de gegenereerde testcode
  6. Voeg meer acties en beweringen toe
  7. Bewerk de details van de testactiviteiten en de beweringen
  8. Doe de test

Best practices voor gecodeerde UI-test (CUIT)

Hier volgen enkele best practices voor een Coded UI-testautomatiseringsframework:

  • Gebruik waar mogelijk de Coded UI Automation Test Builder
  • Probeer het bestand UIMap.designer.cs niet rechtstreeks te wijzigen. Anders worden de wijzigingen die u in het bestand hebt aangebracht, overschreven.
  • Creëer uw test als een reeks vastgelegde methoden
  • Elke geregistreerde methode moet op één pagina, formulier of dialoogvenster werken. Maak ook een nieuwe testmethode voor elk nieuw formulier, pagina of dialoogvenster
  • Wanneer u een methode maakt, gebruikt u in plaats van de standaardnaam een ​​betekenisvolle methodenaam. Een betekenisvolle naam helpt het doel van de methode te identificeren
  • Beperk indien mogelijk elke geregistreerde methode tot minder dan 10 acties. Deze aanpak maakt het eenvoudiger om een ​​methode te vervangen als de gebruikersinterface verandert.
  • Gebruik de CodedUI-testbuilder om een ​​bewering te maken. Het voegt automatisch een beweringsmethode toe aan het bestand UIMap.Designer.cs.
  • Leg de testmethoden/bevestigingsmethoden opnieuw vast als de gebruikersinterface de betrokken delen van een bestaande testmethode wijzigt of opnieuw opneemt.
  • Als u rechtstreeks met de API codeert, gebruikt u de methoden en eigenschappen in de klassen die zijn gemaakt in het bestand UIMap.Designer.cs. Deze lessen zullen uw werk betrouwbaarder en gemakkelijker maken en u helpen productiever te zijn.

Vergelijking van gecodeerde UI-test versus Selenium versus QTP

Hieronder vindt u de vergelijkingstabel van gecodeerde UI versus Selenium versus QTP:

  • Selenium ondersteunt geen enkele WPF en ook geen Windows toepassingen
  • Visual Studio CodedUI ondersteunt het testen van Windows Store-applicaties en het testen van Window Phone-applicaties. Geen enkele andere tool ondersteunt dit.
  • Test voltooid ondersteunt Windows-applicaties, maar vereist dat er een plug-in wordt geïnstalleerd.

Gecodeerde UI-test versus Selenium versus QTP

Vergelijking van gecodeerde UI-test versus Selenium versus QTP

Overzicht:

  • Geautomatiseerde tests die uw applicatie via de gebruikersinterface (UI) sturen, staan ​​bekend als CodedUI-tests (CUIT's).
  • Het gecodeerde UI-testautomatiseringsframework ondersteunt technologieën zoals webservices, raamtelefoonapplicaties, webapplicaties, enz.
  • Met gecodeerde UI-tests kunnen ontwikkelaars en Softwaretesters om effectief samen te werken met dezelfde tools/taal
  • Inhoud of een bestand dat is gemaakt tijdens het gebruik van CodedUI omvat
  • UIMap.Designer.cs
  • UIMap.cs
  • CodedUITest1.cs
  • UIMap.uitest