API-testen GEBRUIKEN QTP/UFT: Volledige zelfstudie

⚡ Slimme samenvatting

API-testen in QTP/UFT Bij één methode wordt een service direct gevalideerd, zonder tussenkomst van een gebruikersinterface. Een API-test wordt opgebouwd als een reeks activiteiten op een canvas, waarbij controlepunten bepalen of elke respons slaagt.

  • 🔘 Geen grafische gebruikersinterface (GUI) nodig: De invoer wordt rechtstreeks naar de service gestuurd en het geregistreerde antwoord wordt vergeleken met de verwachtingen.
  • ☑️ Vijf ondersteunde typen: Webservice, REST, objectgeoriënteerde programmeertaal, database en eigen API's.
  • Activiteitenstroom, niet objecten: Sleep een HTTP-verzoek vanuit de Toolbox naar de testflow en stel de eigenschappen ervan in.
  • 🧪 Controlepunten bepalen het oordeel: Een statuscode van 200 geeft aan dat het gesprek succesvol is verlopen zonder handmatige controle.
  • Resultaten op één plek: De Run Results Viewer toont elke activiteit, de reactie daarop en de uitkomst van elk controlepunt.
  • 📌 Huidige naamgeving: QTP plus HP Service Test werd UFT, nu verkocht als OpenText Functionele testen (UFT een).

Een API-test bouwen en uitvoeren in QTP en UFT One

Voordat we een API testen, moeten we weten wat een API is. Een API (Application Programming Interface) is een verzameling softwarefuncties en -procedures die door andere softwareapplicaties kunnen worden uitgevoerd.

Wat is API-testen?

API-testen is een software testen Methode voor het valideren van Application Programming Interfaces (API's). Het doel van API-testen is om de functionaliteit, betrouwbaarheid, beveiliging en prestaties van de API te testen. Bij API-testen wordt software gebruikt om invoer naar de API te sturen, en de uitvoer wordt vastgelegd om de API te testen.

API-testen houdt dus in:

  • Testen zonder GUI
  • Het programmatisch simuleren van data- of controlestroomscenario's.
  • Focus op functionaliteit, niet op gedrag of klantervaring.

Het onderstaande diagram plaatst API-testen tussen de client die de service aanroept en de gegevens die deze ontvangt.

Omvang van API-testen tussen de clientlaag en de databaselaag

Waarom is API-testen belangrijk?

API-testen hebben vier belangrijke voordelen.

1. API-testen zijn de trend

Zoals de volgende afbeelding laat zien, is API-testen de afgelopen tien jaar zeer snel gegroeid. Het is veel populairder geworden dan andere testmethoden.

Grafiek die de groei in het gebruik van API-testen over een periode van tien jaar weergeeft.

2. Tijdbesparend

Met API-testen kunnen we parallelle uitvoering gebruiken om de testuitvoeringstijd te verkorten. Je kunt tot wel 5 keer sneller testen dan met andere testmethoden.

3. Taalonafhankelijk

Bij API Testing worden gegevens uitgewisseld via XML or JSONElke taal kan dus worden gebruikt om het antwoord te testen. Als je bijvoorbeeld een service hebt waarvan het antwoord in JSON-formaat is, kun je de gegevens eenvoudig parsen met Java, C# of een andere taal.

4. Eenvoudige GUI-integratie

Omdat UFT GUI-tests en API-tests worden in dezelfde oplossing uitgevoerd. Een API-aanroep kan gegevens voor een gebruikersinterfacetest voorbereiden, en beide soorten tests rapporteren in dezelfde testresultaten. Hierdoor blijven een servicecontrole en het scherm dat deze gebruikt in één project in plaats van in twee toolchains.

API-testen met UFT (Uniforme functionele testen)

Er zijn veel tools beschikbaar, zowel open-source als commerciële. UFT is een uitstekende keuze voor het uitvoeren van API-tests, omdat de workflow visueel is opgebouwd en de configuratie in één eigenschappenvenster wordt beheerd.

De laatste versie van QTPgenaamd HP Unified Functioneel testen (UFT), is een combinatie van HP QTP (een GUI-testtool) en HP Service Test (een API-testtool). UFT ondersteunt web, Java, .NET, OracleSiebel, webservices en vele andere belangrijke talen en platformen die oudere versies niet ondersteunden.

⚠️ Productnaamgeving: het hier beschreven gereedschap als HP UFT wordt nu verkocht als OpenText Functionele testen (UFT Een)na van HP naar Micro Focus en vervolgens naar OpenTextDe onderstaande schermafbeeldingen zijn afkomstig uit de HP-versie, waardoor de menu-aanduidingen afwijken van de huidige versies. De API-testprocedure, activiteiten en controlepunten werken echter op dezelfde manier.

Type API-testondersteuning door HP UFT

  1. webservice
  2. REST
  3. Objectgeoriënteerde taal
  4. Database
  5. Eigen API

Begin met uw eerste API-test met QTP

In deze API-test in UFT In deze tutorial behandelen we het volgende: UFT Voorbeelden van API-testen. We gaan de Graph API van Facebook testen. We testen de API als volgt: Testgeval onder

  1. Krijg een profiel van de opgegeven gebruiker op Facebook.
  2. Controleer of het profiel aan de verwachtingen voldoet.

Hier is een stap om een ​​teststroom voor deze API te bouwen.

Geplande UFT Teststroom voor de Facebook Graph API-testcase

⚠️ Over dit voorbeeld: Facebook heeft de Graph API v2.3 jaren geleden buiten gebruik gesteld en het onderstaande toegangstoken is al lang verlopen, waardoor de exacte aanroep geen gegevens meer retourneert. Het oorspronkelijke verzoek blijft ongewijzigd zoals in het voorbeeld is weergegeven; volg dezelfde stappen op een willekeurig actueel REST-eindpunt om het voorbeeld te bekijken.

Stap 1) Openen HP UFT en een nieuw project aanmaken API-testen

  1. Kies Start > (Alle) Programma's > HP Software > HP Unified Functional Testing > Unified Functional Testing. In de huidige versies is dit simpelweg het geval. UFT One snelkoppeling.

    Windows Pad naar de HP Unified Functional Testing-snelkoppeling in het startmenu

  2. Klik Bestand > Nieuw > Testen. Selecteer de API-test type dan:

    UFT Het dialoogvenster 'Nieuwe test toevoegen' toevoegen met het type 'API-test' geselecteerd.

  3. Wanneer er een dialoogvenster verschijnt, voer dan de naam van de API-test in: API_Facebooken selecteer een locatie om dit project op te slaan. Klik creëren om het API-testproject te creëren.

    De nieuwe API-test de naam API_Facebook geven en de opslaglocatie kiezen.

Stap 2) HTTP-verzoek toevoegen aan testproces

We gebruiken een HTTP-verzoek om een ​​aanvraag naar de Facebook API te sturen.

  1. Selecteren Toolbox > Netwerk

    Netwerkgroep breidde zich uit in de UFT Toolbox-venster

  2. Sleepelement HTTP-verzoek om de stroom te testen.

    HTTP-verzoekactiviteit werd weergegeven op de UFT API-teststroom canvas

Stap 3) Configureer en geef parameters door aan een HTTP-verzoek.

  1. Klik met de rechtermuisknop op de HTTP-verzoek object om het te bewerken.

    Klik met de rechtermuisknop op het HTTP Request-object in de testflow.

  2. Voer in het gedeelte Eigenschappen het volgende in: URL

    Eigenschappenvenster van de HTTP-aanvraagactiviteit met de URL veld-

    https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
  3. Je kunt ook een parameter aan de API doorgeven door waarden in te stellen in de Koptekst aanvragen raster.

    Het Request Header-raster wordt gebruikt om extra parameters door te geven aan de API-aanroep.

    Gebruik de Graph API Explorer om de waarde van access_token van Facebook te verkrijgen.

  4. Kies het HTTP-methode naar Begin.

    De HTTP-methodelijst van de HTTP Request-activiteit is ingesteld op GET.

    GET is geselecteerd als de HTTP-methode voor het verzoek.

  5. Configure checkpoints van de HTTP-verzoekStel de statuscode in op 200 In het gedeelte 'Checkpoints' kunt u zien of de actie succesvol was zonder het resultaat handmatig te hoeven controleren. De checkpoints bepalen of de test geslaagd of mislukt is. Een statuscode van 200 betekent dat de testcase geslaagd is.

    Controlepuntenvenster met de verwachte statuscode ingesteld op 200

Stap 4) Voer de test uit

Klik op de lopen knop, of druk op F5, om het dialoogvenster 'Test uitvoeren' te openen. Klik lopen om de test te compileren en uit te voeren.

UFT Het dialoogvenster 'Test uitvoeren' wordt geopend via de knop 'Uitvoeren'.

Stap 5) Bekijk het resultaat

De resultatenviewer wordt geopend. In deze API-test wordt gebruikgemaakt van UFT Een mislukte testcase wordt bijvoorbeeld als volgt weergegeven in de afbeelding.

Resultatenweergave van de API-testcase

Als de testcase slaagt, wordt het resultaat als volgt weergegeven.

De resultatenviewer toont aan dat de API-testcase geslaagd is.

Je eerste API-test in UFT is nu voltooid.

Waar te gaan vanaf hier

Nu je hebt geleerd hoe je een test maakt met een API-test in UFTJe kunt je eigen test maken voor je applicatie zonder grafische gebruikersinterface. Door een test toe te voegen... checkpoint per reactie en groepping belt naar transacties Dit zijn de gebruikelijke vervolgstappen.

Veelgestelde vragen

Een GUI-test stuurt besturingselementen op het scherm aan en slaat deze op als testobjecten. Een API-test is een reeks activiteiten op een canvas die rechtstreeks verzoeken naar een service stuurt, waardoor er niets van de interface wordt vastgelegd.

Nee. Een API-test heeft activiteiten, invoer- en uitvoereigenschappen en gegevensbronnen in plaats van testobjecten, dus nee. objectopslagplaats is betrokken. Alleen GUI-tests leren objecten kennen en slaan hun beschrijvingen op.

Importeer de WSDL van de service in de test. UFT Het programma leest het document, maakt een activiteit aan voor elke bewerking die de service beschikbaar stelt en voegt deze toe aan het Toolbox-paneel, zodat ze net als elke andere activiteit naar de testflow kunnen worden gesleept.

Koppel de invoereigenschappen van de activiteit aan een gegevensbron, zoals een Excel-spreadsheet of XML-bestand, in plaats van aan een gegevensbron.ping letterlijke waarden. Elke rij levert vervolgens één iteratie op, en de resultatenweergave toont het resultaat per iteratie.

Met behulp van AI-tools worden reacties van verschillende uitvoeringen vergeleken om schema-afwijkingen en nieuwe, falende velden te signaleren. Ook kunnen terugkerende fouten worden gegroepeerd op basis van de waarschijnlijke oorzaak. Dit verkort de triage, maar de verwachte waarden bij elk controlepunt vereisen nog steeds een menselijke beoordeling.

Copilot is handig voor de code rondom de test: aangepaste activiteitslogica, het parsen van responsen en hulpfuncties. Het kan de visuele testflow niet bouwen of uw serviceconfiguratie lezen.tract, dus elk verzoek en elk controlepunt dat het voorstelt, moet worden geverifieerd.

SoapUI en Postman zijn lichter en gratis om mee te beginnen. UFT Het verdient zijn plaats daar wanneer hetzelfde project ook de gebruikersinterface moet omvatten, aangezien één licentie en één resultaatset beide lagen bestrijken.

Naast de HTTP-statuscode kan een API-test de inhoud van de responsbody, individuele headerwaarden en geretourneerde gegevens vergelijken met een verwachte bron. Elk controleresultaat wordt samen met het verzoek weergegeven in de resultatenweergave.

Vat dit bericht samen met: