Parametrering in QTP/UFT med exempel

⚡ Smart sammanfattning

Parametrering in QTP/UFT ersätter hårdkodade värden med variabla indata så att ett enda testskript kan köras mot många datakombinationer, miljöinställningar och anropsåtgärder utan att skriva om ett enda steg.

  • 🎯 Definition: Parametrisering byter ut ett fast värde mot en variabel ingång så QTP/UFT kan återanvända ett skript över många testvillkor.
  • 📊 Datatabell: Lagra agentnamn, lösenord eller andra inmatningar i det globala arket för varje åtgärd eller i åtgärdsarket för endast en åtgärd.
  • 🌐 Miljövariabler: Dela inbyggda, användardefinierade interna eller användardefinierade externa XML-värden för varje åtgärd i ett test.
  • 🔗 Test-/åtgärdsparametrar: Skicka ett indatavärde till en anropad åtgärd och returnera ett utdatavärde till den anropande åtgärden.
  • 🎲 Slumpmässigt nummer: Generera ett unikt numeriskt värde inom ett definierat intervall för varje iteration, åtgärd eller hela körningen.
  • ▶ ️ Genomförande Kör skriptet en gång och låt QTP/UFT iterera varje datarad automatiskt och rapportera varje godkänt eller misslyckat rad för rad.
  • ⚙️ Optimering: Kombinera datadrivrutiner med parametriserade fält för att hitta alla konstanter som är berättigade till parametrisering i ett fönster.

Vad är QTP Parametrisering?

QTP/UFT parametrisering låter dig välja olika testindata vid körning istället för att hårdkoda ett enda värde i ett skript. Denna process att mata ett test med externa parametervärden, snarare än ett fast värde, kallas parametrisering.

Utan parameterisering innebär det att testa samma inloggningsskärm med tre olika kombinationer av agentnamn och lösenord att registrera eller underhålla tre nästan identiska skript. Parameterisering behåller ett skript och matar det helt enkelt med en ny rad med data för varje körning, vilket är anledningen till att datadriven testning är beroende av det.

Typer av parametrisering i QTP

UFT (förr QTP) stöder fyra parametertyper, som var och en är lämpad för en annan typ av variabeldata:

  1. Datatabellparametrar
  2. Test-/åtgärdsparametrar
  3. Miljövariabelparametrar
  4. Slumptalsparametrar

Tabellen nedan jämför vad varje typ bäst används till innan vi går igenom ett liveexempel.

Parametertyp Varifrån kommer värdet Typiskt användningsfall
data~~POS=TRUNC Globalt eller åtgärds- (lokalt) kalkylblad som ingår i testet Kör samma steg med många rader med testdata
Miljöfaktor Inbyggda värden, värden som anges i testet eller en extern XML-fil Dela ett konstant värde, såsom en URL, i varje handling
Test/Åtgärd Ett in- eller utdatavärde som skickas mellan åtgärder Vidarebefordra ett värde som producerats i en åtgärd till en annan åtgärd
Slumpmässigt nummer Ett tal som genereras automatiskt inom ett definierat intervall Skapa ett unikt värde, till exempel ett order-ID, vid varje körning

Resten av den här handledningen går igenom parametriseringen av datatabeller från början till slut och förklarar sedan hur man konfigurerar de andra tre typerna med fungerande VBScript-exempel.

Parametrisering av datatabell: Steg-för-steg-exempel

Detta Mikrofokus UFT handledning visar hur man parametriserar ett inloggningstest för flygbokningsapplikationen med hjälp av datatabellen. Du kanske undrar varför så mycket arbete läggs ner på att automatisera en enkel inloggning. Värdet blir tydligt när scenariot kontrollerar att en användare kan logga in korrekt med en kombination av giltigt alfanumeriskt agentnamn och lösenord värden. Teststegen förblir desamma, men mängden data som ska testas ökar. Detta exempel begränsar genomgången till 3 av de 8 möjliga kombinationerna.

Testscenario Teststeg Testdata
Kontrollera att användaren lyckats logga in på applikationen när han matar in en KOMBINATION AV giltigt ALFANUMERISKt agentnamn och lösenord Steg 1) Öppna ansökan om flygbokning
Steg 2) Ange ett giltigt agentnamn
Steg 3) Ange ett giltigt lösenord
Steg 4) Tryck på Ok
Steg 5) Stäng programmet efter lyckad inloggning.
Agentnamn = Guru
Lösenord = Mercury
Agentnamn = Guru99
Lösenord = MERCURY
Agentnamn = 9999
Lösenord = kvicksilver

Du kan kopiera samma sex steg upprepade gånger med olika datavärden, vilket är vad du skulle göra manuellt, eller så kan du använda parametrisering.

Parametrering in QTP

Det enklaste sättet att parametrisera ett argument, i det här exemplet Guru, är:

  1. Klicka på Nyckelordsvy.
  2. Klicka på ikonen Parameterisering.

Parametrering in QTP

Dialogrutan Värdekonfiguration öppnas med det aktuella värdet inställt på en konstant. Klicka på alternativknappen Parameter. QTP tilldelar ett standardnamn till parametern, som du kan byta namn på innan du klickar på "OK". Som standard läggs den nya kolumnen till i arket Global datatabell, så värdet blir tillgängligt för varje åtgärd i testet; om du väljer arket Åtgärd (lokal) begränsas det till endast en enda åtgärd.

Parametrering in QTP

I det globala arket, en kolumn med rubriken "Agentnamn" och värdet Guru skapas. Du kan lägga till fler rader med värden för den här parametern.

Parametrering in QTP

Byter till expertsyn visar att ”Agentnamn” har ersatts av parameterreferensen ”Guru”, tillsammans med vilken typ av ark som används.

Parametrering in QTP

Du kan parametrisera argumentet Lösenord på samma sätt och ange en annan uppsättning testdata.

Parametrering in QTP

Denna datatabell betyder QTP kommer att upprepa samma sex registreras steg tre gånger. Den första iterationen använder data i rad ett, den andra iterationen använder rad två, och så vidare. Statusfältet visar vilken rad som för närvarande används och markerar motsvarande rad i databladet. Resultaten sammanfattar alla tre iterationerna.

Parametrering in QTP

Miljövariabelparametrar i UFT

Miljövariabelparametrar ger ett värde som förblir konstant under varje iteration av en körning, vilket gör dem användbara för konfigurationsdata, till exempel en bas URL eller miljönamn, som varje åtgärd behöver. UFT känner igen tre typer av miljövariabler:

  • Inbyggt: Fördefinierade värden, såsom testnamn, åtgärdsnamn eller operativsystemversion, som UFT fylls i automatiskt.
  • Användardefinierad intern: Värden som du anger i testet med ett skript; de finns bara för den aktuella körningen och sparas inte med testet.
  • Användardefinierad extern: Namn-värde-par lagras i en extern XML-fil som du läser in innan körningen startar.

För att använda en miljövariabel i ett steg, öppna dialogrutan Värdekonfiguration för cellen, välj Miljö som parametertyp och välj variabelnamnet. VBScriptet nedan visar alla tre variabeltyper i en enda åtgärd:

' 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")

För att bygga den externa filen som refereras ovan, skapa ett XML-dokument med en rotfil. <Environment> element och ett <Variable> element per namn-värdepar, ladda sedan det från Arkiv > Inställningar > Miljö i UFT innan testet körs. Externa variabler är skrivskyddade när de väl har laddats, så uppdatera käll-XML-filen när ett värde behöver ändras.

Miljövariabler skiljer sig från Test/Action-parametrar i omfattning: en miljövariabel är tillgänglig för varje åtgärd i testet, medan en Test/Action-parameter skickas explicit mellan två specifika åtgärder, vilket är den typ som behandlas härnäst.

Test- och åtgärdsparametrar i UFT

Test/Action-parametrar låter en åtgärd skicka ett värde till en annan åtgärd som en inparameter, och låter den anropade åtgärden returnera ett värde tillbaka som en utdataparameter. Till skillnad från miljövariabler, som är synliga för hela testet, finns en Test/Action-parameter bara för det specifika anrop som definierar den, vilket gör att åtgärder kan återanvändas över olika tester.

För att skapa en, högerklicka på åtgärden i testflödet, välj Åtgärdsegenskaper och lägg till en parameter under fliken Inparametrar eller Utparametrar med ett namn och en datatyp. Åtgärden kan sedan referera till parametern direkt i sina steg. När en annan åtgärd anropar denna åtgärd, till exempel med RunAction "VerifyLogin", oneIteration, "Guru99", "Mercury", värdena som anges i anropet fyller i inparametrarna för den körningen.

Eftersom värdena följer med anropet snarare än att finnas i datatabellen, fungerar Test/Action-parametrar bra för återanvändbara åtgärder som behöver olika indata beroende på vilket test som anropar dem, till exempel en delad inloggningsåtgärd som används av flera testflöden.

Slumptalsparametrar i UFT

Slumptalsparametrar genererar automatiskt ett numeriskt värde inom ett intervall som du definierar, vilket är användbart när ett test behöver ett värde som måste vara unikt vid varje körning, till exempel ett nytt kund-ID, ett ordernummer eller en bokningsreferens som applikationen inte accepterar två gånger.

För att konfigurera en, öppna dialogrutan Värdekonfiguration för cellen och välj Slumptal som parametertyp. UFT frågar efter det numeriska intervallet, ett valfritt namn för parametern och hur ofta den ska generera ett nytt värde:

  • För varje åtgärdsiteration – genererar ett nytt nummer varje gång åtgärden körs.
  • För varje testiteration – genererar ett nytt nummer en gång per testiteration.
  • En gång per hel testkörning – behåller samma nummer under hela körningen.

Slumptalsparametrar delar körtidsflexibiliteten hos datatabell- och miljövariabelparametrar, men de eliminerar behovet av att manuellt redigera unika testdata allt eftersom volymen av datadrivna iterationer växer.

Fördelar med parametrering

Parameterisering lönar sig under hela automatiseringslivscykeln, från det första skriptet till en komplett regressionssvit:

  • Det låter dig välja olika värden vid körning istället för att redigera skriptet för varje datakombination.
  • Det minskar den tid och ansträngning som krävs för att täcka flera kombinationer av testdata.
  • Datadrivare, en UFT funktionen listar alla konstanter i ett skript som är berättigade till parametrisering i ett enda fönster, vilket förenklar parametrisering av stora skript.
  • Den håller testdata utanför skriptet, så en testare kan lägga till nya rader, miljövärden eller slumpmässiga intervall utan att vidröra automatiseringslogiken.

Klicka här. om videon inte är tillgänglig

Vanliga frågor

Det globala arket innehåller en uppsättning värden som delas av varje åtgärd i testet, medan åtgärdsarket (lokalt) innehåller värden som är privata för en enda åtgärd och endast används när den åtgärden upprepas.

Ja. Ett test kan använda datatabellvärden för ett fält, en miljövariabel för en delad inställning och en Test/Action-parameter för att skicka data mellan åtgärder, allt inom samma skript.

Ja. Värden som laddats från en extern XML-fil kan inte ändras inifrån skriptet under den körningen; uppdatera käll-XML-filen och ladda om den för att ändra värdet.

Ja. Generativa AI-verktyg kan utarbeta realistiska eller edge-case-datauppsättningar för datatabellen, men en testare bör fortfarande granska och validera varje värde innan testet körs.

Modern Konst UFT En utgåva inkluderar AI-driven objektidentifiering och självläkande tester, men att välja vilka fält som ska parametriseras är fortfarande ett manuellt steg som utförs via dialogrutan Värdekonfiguration.

Sammanfatta detta inlägg med: