Parametrering in QTP/UFT met Voorbeeld

⚡ Slimme samenvatting

Parametrering in QTP/UFT Vervangt vastgelegde waarden door variabele invoer, zodat één testscript kan worden uitgevoerd met veel verschillende datacombinaties, omgevingsinstellingen en aanroepende acties zonder dat er ook maar één stap hoeft te worden herschreven.

  • 🎯 Definitie: Parameterisering vervangt een vaste waarde door een variabele invoer, dus QTP/UFT Je kunt één script hergebruiken voor meerdere testomstandigheden.
  • 📊 Data tafel: Sla de agentnaam, het wachtwoord of andere invoergegevens op in het tabblad 'Global' voor elke actie, of in het tabblad 'Action' voor slechts één actie.
  • 🌐 Omgevingsvariabelen: Deel ingebouwde, door de gebruiker gedefinieerde interne of door de gebruiker gedefinieerde externe XML-waarden voor elke actie in een test.
  • 🔗 Test-/actieparameters: Geef een invoerwaarde door aan een aangeroepen actie en retourneer een uitvoerwaarde naar de aanroepende actie.
  • 🎲 Willekeurig getal: Genereer een unieke numerieke waarde binnen een gedefinieerd bereik voor elke iteratie, actie of de gehele uitvoering.
  • ▶ ️ Uitvoering: Voer het script eenmaal uit en laat het QTP/UFT Elke rij met gegevens wordt automatisch doorlopen en er wordt per rij gerapporteerd of de controle geslaagd of mislukt is.
  • ⚙️ optimalisatie: Combineer Data Drivers met geparameteriseerde velden om in één venster alle constanten te vinden die geschikt zijn voor parameterisering.

Wat is QTP Parameterisering?

QTP/UFT parameterisatie Hiermee kunt u tijdens de uitvoering verschillende testinvoerwaarden kiezen in plaats van één vaste waarde in een script te coderen. Dit proces waarbij een test wordt gevoed met externe parameterwaarden in plaats van één vaste waarde, wordt parameterisering genoemd.

Zonder parameterisering betekent het testen van hetzelfde inlogscherm met drie verschillende agentnaam- en wachtwoordcombinaties dat er drie vrijwel identieke scripts moeten worden opgenomen of onderhouden. Parameterisering zorgt ervoor dat er slechts één script overblijft dat bij elke uitvoering een nieuwe rij gegevens bevat. Daarom is datagestuurd testen ervan afhankelijk.

Soorten parameterisering in QTP

UFT (voorheen QTP) ondersteunt vier parametertypen, elk geschikt voor een ander soort variabele gegevens:

  1. Gegevenstabelparameters
  2. Test-/actieparameters
  3. Parameters van omgevingsvariabelen
  4. Willekeurige getalparameters

De onderstaande tabel vergelijkt waarvoor elk type het best gebruikt kan worden, voordat we een praktijkvoorbeeld bekijken.

Parametertype: Waar komt de waarde vandaan? Typisch gebruiksscenario
data Table Globale of lokale (actie) spreadsheet meegeleverd met de test Dezelfde stappen uitvoeren met veel rijen testgegevens.
Omgevingsvariabele Ingebouwde waarden, waarden die binnen de test zijn ingesteld, of een extern XML-bestand. Het delen van één constante waarde, zoals een URL, bij elke actie
Test/Actie Een invoer- of uitvoerwaarde die tussen acties wordt doorgegeven. Een waarde die in de ene actie is gegenereerd, doorgeven aan een andere actie.
Willekeurig nummer Een automatisch gegenereerd getal binnen een gedefinieerd bereik. Het creëren van een unieke waarde, zoals een order-ID, bij elke uitvoeringssessie.

De rest van deze handleiding doorloopt de parameterisering van gegevenstabellen van begin tot eind en legt vervolgens uit hoe de andere drie typen geconfigureerd kunnen worden met behulp van werkende VBScript-voorbeelden.

Parameterisering van een gegevenstabel: stapsgewijs voorbeeld

In deze Micro Focus UFT zelfstudie Dit voorbeeld laat zien hoe je een inlogtest voor de vluchtreserveringsapplicatie kunt parameteriseren met behulp van de gegevenstabel. Je vraagt ​​je misschien af ​​waarom er zoveel moeite wordt gestoken in het automatiseren van een simpele login. De meerwaarde wordt duidelijk zodra het scenario controleert of een gebruiker succesvol kan inloggen met een combinatie van een geldige alfanumerieke agentnaam en wachtwoord waarden. De teststappen blijven hetzelfde, maar de hoeveelheid te testen data neemt toe. Dit voorbeeld beperkt de doorloop tot 3 van de 8 mogelijke combinaties.

Testscenario Teststappen Testgegevens
Controleer of de gebruiker succesvol inlogt bij de applicatie na het invoeren van een COMBINATIE VAN geldige ALFANUMERIEKE agentnaam en wachtwoord Stap 1) Open de vluchtreserveringsaanvraag
Stap 2) Voer een geldige agentnaam in
Stap 3) Voer een geldig wachtwoord in
Stap 4) Druk op Ok
Stap 5) Sluit de applicatie na succesvol inloggen.
Agentnaam = Guru
Wachtwoord = Mercury
Agentnaam = Guru99
Wachtwoord = MERCURIUS
Agentnaam = 9999
Wachtwoord = kwik

Je kunt dezelfde zes stappen herhaaldelijk uitvoeren met verschillende gegevenswaarden, wat je handmatig zou doen, of je kunt parameterisering gebruiken.

Parametrering in QTP

De eenvoudigste manier om een ​​argument te parameteriseren, in dit voorbeeld. Guruis:

  1. Klik op Trefwoordweergave.
  2. Klik op het parameteriseringspictogram.

Parametrering in QTP

Het dialoogvenster Waardeconfiguratie wordt geopend met de waarde momenteel ingesteld op Constante. Klik op het keuzeradiobutton Parameter. QTP Hiermee wordt een standaardnaam aan de parameter toegewezen, die u kunt wijzigen voordat u op 'OK' klikt. Standaard wordt de nieuwe kolom toegevoegd aan het tabblad 'Globale gegevenstabel', waardoor de waarde beschikbaar komt voor elke actie in de test; als u in plaats daarvan het tabblad 'Actie (lokaal)' kiest, wordt de waarde beperkt tot slechts één actie.

Parametrering in QTP

In het tabblad 'Global' bevindt zich een kolom met de koptekst 'Agentnaam' en de waarde Guru wordt aangemaakt. Je kunt meer rijen met waarden voor deze parameter toevoegen.

Parametrering in QTP

Overschakelen naar deskundig standpunt geeft aan dat "Agentnaam" is vervangen door de parameterreferentie "Guru”, samen met het type vel dat gebruikt is.

Parametrering in QTP

Je kunt het argument 'Wachtwoord' op dezelfde manier parameteriseren en een andere set testgegevens invoeren.

Parametrering in QTP

Deze gegevenstabel betekent QTP zal dezelfde zes herhalen opgenomen De stappen worden drie keer herhaald. De eerste iteratie gebruikt de gegevens in rij één, de tweede iteratie gebruikt rij twee, enzovoort. De statusbalk geeft aan welke rij momenteel in gebruik is en markeert de bijbehorende rij in het gegevensblad. De resultaten vatten alle drie de iteraties samen.

Parametrering in QTP

Omgevingsvariabele parameters in UFT

Omgevingsvariabelen leveren een waarde die constant blijft tijdens elke iteratie van een run, waardoor ze nuttig zijn voor configuratiegegevens, zoals een basiswaarde. URL of de naam van de omgeving die elke actie nodig heeft. UFT onderscheidt drie soorten omgevingsvariabelen:

  • Ingebouwd: Vooraf gedefinieerde waarden, zoals de testnaam, actienaam of versie van het besturingssysteem, die UFT Wordt automatisch ingevuld.
  • Door de gebruiker gedefinieerde interne instellingen: Waarden die je binnen de test instelt met een script, bestaan ​​alleen voor de huidige testuitvoering en worden niet opgeslagen met de test.
  • Door de gebruiker gedefinieerde externe: Naam-waardeparen worden opgeslagen in een extern XML-bestand dat u laadt voordat de uitvoering begint.

Om een ​​omgevingsvariabele binnen een stap te gebruiken, opent u het dialoogvenster Waardeconfiguratie voor de cel, selecteert u Omgeving als parametertype en kiest u de variabelenaam. Het onderstaande VBScript toont alle drie de soorten variabelen binnen één actie:

' Read a Built-in environment variable
MsgBox Environment.Value("OS")

' Set and read a User-Defined Internal environment variable
Environment.Value("AppURL") = "https://demo.guru99.com/V4/"
MsgBox Environment.Value("AppURL")

' Load a User-Defined External XML file, then read a value from it
Environment.LoadFromFile "C:\Guru99\EnvConfig.xml"
MsgBox Environment.Value("Address")

Om het hierboven genoemde externe bestand te maken, creëert u een XML-document met een root-bestand. <Environment> element en één <Variable> element per naam-waardepaar, laad het vervolgens via Bestand > Instellingen > Omgeving in UFT Voordat je de test uitvoert. Externe variabelen zijn na het laden alleen-lezen, dus werk het bron-XML-bestand bij wanneer een waarde moet worden gewijzigd.

Omgevingsvariabelen verschillen van test-/actieparameters in hun reikwijdte: een omgevingsvariabele is beschikbaar voor elke actie in de test, terwijl een test-/actieparameter expliciet wordt doorgegeven tussen twee specifieke acties, en dat laatste type wordt hierna besproken.

Test- en actieparameters in UFT

Test-/actieparameters stellen een actie in staat een waarde als invoerparameter door te geven aan een andere actie, en de aangeroepen actie een waarde als uitvoerparameter terug te geven. In tegenstelling tot omgevingsvariabelen, die zichtbaar zijn voor de hele test, bestaat een test-/actieparameter alleen voor de specifieke aanroep die deze definieert. Hierdoor blijven acties herbruikbaar in verschillende tests.

Om er een te maken, klikt u met de rechtermuisknop op de actie in de testflow, kiest u Actie-eigenschappen en voegt u een parameter toe onder het tabblad Invoerparameters of Uitvoerparameters met een naam en gegevenstype. De actie kan vervolgens rechtstreeks naar de parameter verwijzen in de stappen. Wanneer een andere actie deze actie aanroept, bijvoorbeeld met RunAction "VerifyLogin", oneIteration, "Guru99", "Mercury"De waarden die in de aanroep worden doorgegeven, vullen de invoerparameters voor die uitvoering in.

Omdat de waarden met de aanroep meereizen in plaats van in de gegevenstabel te blijven staan, werken test-/actieparameters goed voor herbruikbare toepassingen. acties die verschillende invoer nodig hebben, afhankelijk van welke test ze aanroept, zoals een gedeelde inlogactie die door meerdere testflows wordt gebruikt.

Parameters voor willekeurige getallen in UFT

Parameters voor willekeurige getallen genereren automatisch een numerieke waarde binnen een door u gedefinieerd bereik. Dit is handig wanneer een test een waarde nodig heeft die bij elke uitvoering uniek moet zijn, zoals een nieuw klant-ID, een ordernummer of een boekingsreferentie die de applicatie niet twee keer accepteert.

Om er een te configureren, opent u het dialoogvenster Waardeconfiguratie voor de cel en selecteert u Willekeurig getal als parametertype. UFT Er wordt gevraagd om het numerieke bereik, een optionele naam voor de parameter en hoe vaak er een nieuwe waarde moet worden gegenereerd:

  • Voor elke actie-iteratie – genereert een nieuw getal elke keer dat de actie wordt uitgevoerd.
  • Voor elke testiteratie – genereert een nieuw getal eenmaal per testiteratie.
  • Eenmaal per volledige testrun – behoudt hetzelfde nummer gedurende de hele run.

Parameters voor willekeurige getallen bieden dezelfde flexibiliteit tijdens de uitvoering als parameters voor gegevenstabellen en omgevingsvariabelen, maar ze maken het overbodig om handmatig unieke testgegevens te schrijven naarmate het aantal datagestuurde iteraties toeneemt.

Voordelen van parameterisatie

Parameterisering loont gedurende de hele automatiseringscyclus, van het eerste script tot een volledige regressietestsuite:

  • Hiermee kunt u tijdens de uitvoering verschillende waarden selecteren in plaats van het script voor elke gegevenscombinatie aan te passen.
  • Het vermindert de tijd en moeite die nodig zijn om meerdere combinaties van testgegevens te behandelen.
  • Datastuurprogramma's, een UFT Deze functie toont in één venster alle constanten in een script die geschikt zijn voor parameterisering, wat het parameteriseren van grote scripts vereenvoudigt.
  • Het houdt testgegevens buiten het script, zodat een tester nieuwe rijen, omgevingswaarden of willekeurige bereiken kan toevoegen zonder de automatiseringslogica aan te raken.

Klik hier als de video niet toegankelijk is

Veelgestelde vragen

Het tabblad 'Global' bevat één set waarden die door elke actie in de test worden gedeeld, terwijl het tabblad 'Action' (lokaal) waarden bevat die specifiek zijn voor één actie en alleen worden gebruikt wanneer die actie wordt herhaald.

Ja. Een test kan gebruikmaken van gegevenstabelwaarden voor één veld, een omgevingsvariabele voor een gedeelde instelling en een test-/actieparameter om gegevens tussen acties door te geven, allemaal binnen hetzelfde script.

Ja. Waarden die uit een extern XML-bestand worden geladen, kunnen tijdens de uitvoering van het script niet vanuit het script zelf worden gewijzigd; werk het bron-XML-bestand bij en laad het opnieuw om de waarde te wijzigen.

Ja. Generatieve AI-tools kunnen realistische of uitzonderlijke datasets voor de datatabel genereren, maar een tester moet nog steeds elke waarde controleren en valideren voordat de test wordt uitgevoerd.

MODERN UFT Nieuwe versies bevatten AI-gestuurde objectidentificatie en zelfherstellende tests, maar het selecteren van de te parameteriseren velden is nog steeds een handmatige stap die via het dialoogvenster Waardeconfiguratie wordt uitgevoerd.

Vat dit bericht samen met: