Miljövariabel i QTP (UFT) med exempel

⚡ Smart sammanfattning

Miljövariabler i QTP och UFT En butik värdesätter att varje åtgärd, funktionsbibliotek och återställningsscenario kan läsa, vilket gör att man kan utföra testerna URLs, autentiseringsuppgifter, sökvägar och språksträngar utan att hårdkoda dem någonstans.

  • 🔘 Globalt omfång: En variabel är synlig för varje åtgärd, funktionsbibliotek och återställningsscenario i testet.
  • ☑️ Två familjer: Inbyggda variabler är skrivskyddade; användardefinierade variabler kan du skapa och ändra.
  • Intern kontra extern: Interna variabler sparas inuti testet, externa variabler finns i en delbar XML-fil.
  • 🧪 En åtkomstenhet: Environment.Value läser valfri variabel och skriver användardefinierade variabler från VBScript.
  • 🛠️ Körningstidsinläsning: Environment.LoadFromFile byter ut en hel variabeluppsättning vid körning, så ett skript driver många miljöer.
  • 📌 Byggd för lokalisering: Swapping XML-filen ändrar språksträngar utan att röra ett enda steg.

Inbyggda och användardefinierade miljövariabler i QTP och UFT One

Vad är miljövariabel?

Miljövariabler är dynamiska "objekt" på en dator som kan lagra ett värde, vilket i sin tur kan refereras till av ett eller flera program i Windows.

Miljövariabler är dynamiska till sin natur och kan ändras. Det finns ett antal miljövariabler som program kan referera till och som kan vara användbara för att hitta information om deras datormiljö. Testverktyget har en egen lista bredvid de Windows ger.

UFT En miljövariabel

Mikrofokus UFT Miljövariabler kan nås via alla åtgärder, funktionsbibliotek och återställningsscenarier.

⚠️ Versionsnotering: Denna produkt levererades som HP QuickTest Professional, döptes om till Unified Functional Testing och säljs idag som OpenText Funktionell testning (UFT En)Miljöobjektet och skärmarna nedan är oförändrade – endast produktnamnet har flyttats. officiell miljöobjektreferens bär den aktuella syntaxen.

Typer av QTP Miljövariabler

Miljövariabler är de variabler som kan användas globalt i testerna. Det finns två typer av miljövariabler

  • Inbyggda variabler
  • Användardefinierade variabler (har 2 undertyper)
    • Inre
    • Yttre

Inbyggda variabler beskriver maskinen och testkörningen och är skrivskyddade. Användardefinierade variabler innehåller dina egna data, och endast de interna kan skrivas till från ett skript.

Inbyggda variabler

In QTP, inbyggda variabler är fördefinierade variabler. Det gör det möjligt för användaren att hämta information om testet som körs och att få information om OS (Operating Systems) som testet körs på. Några av de inbyggda variablerna är Action iteration, Operatingssystem, testkatalog, lokala värdnamn, Operating systemversion etc.

Gå till fil -> Inställningar -> Fliken Miljö för att visa avsnittet med miljövariabler och listan över miljövariabler. Rutan öppnas i den inbyggda listan, som visas nedan.

Miljöpanelen i dialogrutan Testinställningar listar inbyggda QTP Miljövariabler

Värdena från miljövariabler kan hämtas och användas där det behövs under körsessionen. Det här är de namn testare oftast använder.

Inbyggd variabel Vad den returnerar
OS Operasystemfamiljen för den maskin som kör testet
OSVersion Operating-systemversion
Testnamn Namn på testet som körs just nu
TestDir Mappen som testet lagras i
Åtgärdsnamn Namn på åtgärden som körs för närvarande
ÅtgärdIteration Iterationsnummer för den aktuella åtgärden
Lokalt värdnamn Värdnamn för den lokala maskinen
Resultatkatalog Mappen som körningsresultaten skrivs till

Exempel:

MsgBox Environment.Value("OSVersion")

Den enda raden visar operativsystemversionen direkt från körsessionen.

Meddelanderuta som visar värdet som returneras av den inbyggda miljövariabeln i OSVersion

Användardefinierade variabler

Innan testet körs är dessa variabler som definieras av användaren. Det kan användas globalt över olika tester, eller de kan också begränsas till ett test.

Användardefinierade variabler klassificerades i två typer

  • Inre
  • Yttre
  1. Användardefinierad – Interna variablerDessa variabler definieras av användaren innan testet körs och är endast tillgängliga för ett specifikt test.
  2. Användardefinierad- Externa variabler: Dessa variabler definieras av användaren och kan användas globalt i olika tester.

Externa variabler kan läsas in på två sätt. Det kan göras manuellt innan testet körs via fliken Miljö eller den användardefinierade skärmen genom att kontrollera kryssrutan Ladda variabler och sedan välja XML-filen. Den andra vägen är ett skriptkommando, vilket beskrivs längre ner på den här sidan.

Du kan skapa en användardefinierad variabel så här. Ändra variabeltypen till användardefinierad och lägg till ett namn och en värderad.

Lägga till en ny användardefinierad miljövariabel i panelen Miljö i QTP Testinställningar

Den färdiga raden visas sedan i den användardefinierade listan.

Användardefinierad miljövariabel Guru99 listat med sitt värde i miljöpanelen

Du kan komma åt variabeln enligt följande

MsgBox Environment.Value("Guru99")

Meddelanderutan returnerar värdet som lagrats mot det variabelnamnet.

Meddelanderuta som visar värdet för den användardefinierade miljövariabeln med namnet Guru99

Metoder och egenskaper för miljöobjekt

Båda listorna nås via en VBScript objekt som heter Miljö. Det exponerar en egenskap, en metod och en skrivskyddad egenskap, och det är hela API-ytan.

Medlem Typ Vad den gör
Värderar Fast egendom Hämtar valfri miljövariabel och anger användardefinierade variabler
LaddaFrånFil Metod Laddar en XML-fil med extern miljövariabel vid körning
Externt filnamn Fast egendom Returnerar den externa filen som valts i miljöpanelen, eller en tom sträng

Läsning är tillåten överallt. Skrivning fungerar bara på användardefinierade interna variabler, eftersom inbyggda variabler och variabler som laddas från en fil är skrivskyddade.

' Read any variable
strVersion = Environment.Value("OSVersion")

' Write a user-defined internal variable
Environment.Value("Guru99") = "SecondValue"

' Check which external file is active
If Environment.ExternalFileName = "" Then
    MsgBox "No external environment file is loaded"
End If

Samma sats beter sig identiskt i en åtgärd, ett funktionsbibliotek eller en återhämtningsscenario.

Hur man skapar och laddar en XML-fil med extern miljövariabel

En extern fil omvandlar variabellistan till en delbar tillgång, så att ett test kan köras mot utveckling, staging och produktion utan ett redigerat steg.

  1. Definiera först värdena som interna användardefinierade variabler i miljöpanelen.
  2. Använd Export knappen i den rutan, som skriver rätt XML struktur för dig.
  3. Spara en fil per miljö, till exempel EnvDev.xml och EnvProd.xml.
  4. Peka testet mot en fil med kryssrutan "Läs in variabler", eller ladda den från skriptet.

Filen är en platt lista med variabel- och värdepar i syntaxen nedan.

<Environment>
  <Variable>
    <Name>This is the first variable name</Name>
    <Value>This is the first variable value</Value>
  </Variable>
</Environment>

Laddning från kod är ett tvåradigt skydd: kontrollera om en fil redan är aktiv och ladda bara en om den inte är det.

fileName = Environment.ExternalFileName
If fileName = "" Then
    Environment.LoadFromFile "C:\testEnv.xml"
End If

Bästa praxis och vanliga fel

De flesta problem beror snarare på omfattning och stavning än syntax. Tabellen listar de fel som testare oftast stöter på.

Symptom Orsak Fast
Variabeln returnerar ett tomt värde Namnet är felstavat eller lades aldrig till i det här testet Namnen matchar exakt; kontrollera stavningen igen i miljöpanelen
Körfel på en tilldelningsrad Skriptet skriver en inbyggd eller externt laddad variabel Endast användardefinierade interna variabler kan tilldelas
Den externa filen ignoreras Kryssrutan är inte markerad och LoadFromFile anropades aldrig Markera rutan eller ladda filen från skriptet
En delad variabel saknas någon annanstans Variabeln definierades som intern Flytta den till en extern XML-fil så att varje test kan läsa in den
  • Använd en namngivningskonvention så att rutan förblir läsbar allt eftersom listan växer.
  • Håll XML-filerna under källkodskontroll och lagra aldrig riktiga lösenord i dem.
  • Reservera miljövariabler för värden som förblir konstanta under en körning och lämna rad-för-rad-data till data~~POS=TRUNC.

Vanliga frågor

Ett vanligt lösenord i en XML-fil kan läsas av alla som öppnar den. Behåll användarnamnet i en miljövariabel och skicka lösenordet genom ett krypterat värde, som visas i Säkerställ guide.

Nej. Inbyggda variabler är skrivskyddade, så en tilldelning ger upphov till ett körfel. Endast användardefinierade interna variabler accepterar ett nytt värde. Variabler som laddas från en extern fil är också skrivskyddade inuti testet.

En extern fil per språk innehåller gränssnittssträngarna och slutpunkterna för den språkinställningen.ping filen ändrar alla förväntade värden samtidigt, så samma steg verifierar en fransk version och en japansk version.

En miljövariabel har ett värde för hela körningen och är synlig för varje åtgärd. En datatabellparameter ger ett annat värde för varje iteration och tillhör ett ark, vilket passar för datadrivna fall.

AI-verktyg skannar en svit efter hårdkodade URLs, sökvägar och autentiseringsuppgifter, och föreslår sedan miljövariabler som ersätter dem. Maskininlärningsmodeller flaggar också värden som rör sig mellan miljöer, så att rätt poster flyttas till den externa filen.

Copilot slutför Environment.Value- och LoadFromFile-anrop tillförlitligt eftersom objektet har ett litet API. Behandla förslaget som ett utkast: det kan inte veta vilka namn som finns i din miljöpanel, så verifiera vart och ett innan du kör.

Ja. Miljöobjektet kan nås från både åtgärder, funktionsbibliotek och återställningsscenarier, så en återställningshanterare kan förgrena sig på en flagga som miljönamnet utan extra överföring.

Rutan Miljö i dialogrutan Testinställningar namnger den valda filen. I koden returnerar egenskapen ExternalFileName samma namn, eller en tom sträng när ingen extern fil har laddats för körningen.

Sammanfatta detta inlägg med: