Miljøvariabel i QTP (UFT) med eksempel

⚡ Smart opsummering

Miljøvariabler i QTP og UFT Én butik værdsætter, at alle handlinger, funktionsbiblioteker og gendannelsesscenarier kan læses, så man kan udføre tests URLs, legitimationsoplysninger, stier og sprogstrenge uden at hardcode dem nogen steder.

  • 🔘 Globalt omfang: Én variabel er synlig for hver handling, hvert funktionsbibliotek og hvert gendannelsesscenarie i testen.
  • ☑️ To familier: Indbyggede variabler er skrivebeskyttede; brugerdefinerede variabler kan oprettes og ændres af dig.
  • Intern versus ekstern: Interne variabler gemmes i testen, mens eksterne variabler findes i en delbar XML-fil.
  • 🧪 Én adgangsgiver: Environment.Value læser enhver variabel og skriver brugerdefinerede variabler fra VBScript.
  • 🛠️ Indlæsning af kørselstid: Environment.LoadFromFile bytter et helt variabelsæt under kørsel, så ét script styrer mange miljøer.
  • 📌 Bygget til lokalisering: Swapping XML-filen ændrer sprogstrenge uden at røre et eneste trin.

Indbyggede og brugerdefinerede miljøvariabler i QTP og UFT Én

Hvad er miljøvariabel?

Miljøvariabler er dynamiske "objekter" på en computer, der kan lagre en værdi, som igen kan refereres til af et eller flere softwareprogrammer i Windows.

Miljøvariabler er dynamiske af natur og kan ændres. Der er en række miljøvariabler, som programmer kan referere til, og som kan være nyttige til at finde information om deres computermiljø. Testværktøjet har sin egen liste ved siden af ​​dem, der Windows giver.

UFT En miljøvariabel

Mikrofokus UFT Miljøvariabler kan tilgås via alle handlinger, funktionsbiblioteker og gendannelsesscenarier.

⚠️ Versionsnotat: Dette produkt blev leveret som HP QuickTest Professional, blev omdøbt til Unified Functional Testing og sælges i dag som OpenText Funktionel testning (UFT En)Miljøobjektet og skærmbillederne nedenfor er uændrede – kun produktnavnet er flyttet. officiel miljøobjektreference bærer den nuværende syntaks.

Typer af QTP miljøvariabler

Miljøvariabler er de variabler, der kan bruges globalt i testene. Der er to typer miljøvariabler

  • Indbyggede variabler
  • Brugerdefinerede variabler (Har 2 undertyper)
    • Intern
    • Ekstern

Indbyggede variabler beskriver maskinen og testkørslen og er skrivebeskyttede. Brugerdefinerede variabler indeholder dine egne data, og kun de interne variabler kan skrives til fra et script.

Indbyggede variabler

In QTP, indbyggede variabler er foruddefinerede variable. Det gør det muligt for brugeren at hente informationen om den test, der udføres, og at få information om OS (Operating Systems), som testen udføres på. Nogle af de indbyggede variabler er Action iteration, Operating system, test bibliotek, lokale værtsnavne, Operating systemversion osv.

Gå til fil -> Indstillinger -> Fanen Miljø for at se afsnittet med miljøvariabler og se listen over miljøvariabler. Ruden åbnes på den indbyggede liste, som vist nedenfor.

Miljøruden i dialogboksen Testindstillinger viser den indbyggede liste QTP miljøvariabler

Værdierne fra miljøvariabler kan hentes og bruges, hvor det er nødvendigt under kørselssessionen. Det er disse navne, testere oftest bruger.

Indbygget variabel Hvad den returnerer
OS Operasystemfamilien på den maskine, der kører testen
OSVersion Operating systemversion
Testnavn Navn på den test, der kører i øjeblikket
TestDir Mappen hvor testen er gemt
Handlingsnavn Navn på den handling, der kører i øjeblikket
HandlingIteration Iterationsnummer for den aktuelle handling
Lokalt værtsnavn Værtsnavn på den lokale maskine
Resultatmappe Mappen, som kørselsresultaterne skrives til

Eksempel:

MsgBox Environment.Value("OSVersion")

Den enkelte linje viser operativsystemversionen direkte fra kørselssessionen.

Meddelelsesboks, der viser den værdi, der returneres af den indbyggede miljøvariabel i OSVersion

Brugerdefinerede variabler

Før udførelse af testen er disse variabler, som er defineret af brugeren. Det kan bruges globalt på tværs af forskellige tests, eller de kan også begrænses til én test.

Brugerdefinerede variabler blev klassificeret i to typer

  • Intern
  • Ekstern
  1. Brugerdefineret – Interne variablerDisse variabler defineres af brugeren før testen udføres, og de er kun tilgængelige for en bestemt test.
  2. Brugerdefineret - Eksterne variabler: Disse variabler defineres af brugeren, og de kan bruges globalt på tværs af forskellige tests.

Eksterne variabler kan indlæses på to måder. Det kan gøres manuelt før testen udføres via fanen "Miljø" eller den brugerdefinerede skærm ved at kontrollere afkrydsningsfeltet "Indlæs variabler" og derefter vælge XML-filen. Den anden rute er en scriptkommando, som er beskrevet længere nede på denne side.

Du kan oprette en brugerdefineret variabel på følgende måde. Skift variabeltypen til brugerdefineret, og tilføj en række med navn og værdi.

Tilføjelse af en ny brugerdefineret miljøvariabel i Miljø-ruden i QTP Testindstillinger

Den færdige række vises derefter i den brugerdefinerede liste.

Brugerdefineret miljøvariabel Guru99 angivet med sin værdi i Miljø-ruden

Du kan få adgang til variablen som følger

MsgBox Environment.Value("Guru99")

Meddelelsesfeltet returnerer den værdi, der er gemt under det pågældende variabelnavn.

Meddelelsesboks, der viser værdien af ​​den brugerdefinerede miljøvariabel med navnet Guru99

Miljøobjektmetoder og -egenskaber

Begge lister nås via én vbscript objekt kaldet Miljø. Det eksponerer én egenskab, én metode og én skrivebeskyttet egenskab, og det er hele API-overfladen.

Medlem Type Hvad gør den
Værdi Ejendom Henter enhver miljøvariabel og indstiller brugerdefinerede variabler
IndlæsFraFil Metode Indlæser en ekstern miljøvariabel XML-fil under kørsel
Eksternt filnavn Ejendom Returnerer den eksterne fil, der er valgt i miljøruden, eller en tom streng

Læsning er tilladt overalt. Skrivning fungerer kun på brugerdefinerede interne variabler, fordi indbyggede variabler og variabler indlæst fra en fil er skrivebeskyttede.

' 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

Den samme sætning opfører sig identisk i en handling, et funktionsbibliotek eller en genopretningsscenarie.

Sådan opretter og indlæser du en XML-fil med en ekstern miljøvariabel

En ekstern fil omdanner variabellisten til et delbart aktiv, så én test kan køre mod udvikling, staging og produktion uden et redigeret trin.

  1. Definer først værdierne som interne brugerdefinerede variabler i ruden Miljø.
  2. Brug eksport knappen i den rude, som skriver det korrekte XML struktur for dig.
  3. Gem én fil pr. miljø, for eksempel EnvDev.xml og EnvProd.xml.
  4. Ret testen mod en fil med afkrydsningsfeltet "Indlæs variabler", eller indlæs den fra scriptet.

Filen er en flad liste af variabel- og værdipar i syntaksen nedenfor.

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

Indlæsning fra kode er en to-linjers vagt: tjek om en fil allerede er aktiv, og indlæs kun en, hvis den ikke er det.

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

Bedste praksis og almindelige fejl

De fleste problemer stammer fra omfang og stavning snarere end syntaks. Tabellen viser de fejl, som testere oftest støder på.

Symptom Årsag Fix
Variablen returnerer en tom værdi Navnet er stavet forkert, eller blev aldrig tilføjet til denne test Navnene stemmer præcist overens; tjek stavningen igen i Miljøpanelet
Kørselsfejl på en tildelingslinje Scriptet skriver en indbygget eller eksternt indlæst variabel Kun brugerdefinerede interne variabler kan tildeles
Den eksterne fil ignoreres Afkrydsningsfeltet er ikke markeret, og LoadFromFile blev aldrig kaldt Markér feltet, eller indlæs filen fra scriptet
En delt variabel mangler et andet sted Variablen blev defineret som intern Flyt den til en ekstern XML-fil, så alle tests kan indlæse den
  • Anvend én navngivningskonvention, så ruden forbliver læsbar, efterhånden som listen vokser.
  • Hold XML-filerne under kildekontrol, og gem aldrig rigtige adgangskoder i dem.
  • Reserver miljøvariabler til værdier, der forbliver konstante gennem en kørsel, og overlad række-for-række-data til datatabel.

Ofte Stillede Spørgsmål

En almindelig adgangskode i en XML-fil kan læses af alle, der åbner den. Behold brugernavnet i en miljøvariabel, og send adgangskoden gennem en krypteret værdi, som vist i SetSecure guide.

Nej. Indbyggede variabler er skrivebeskyttede, så en tildeling forårsager en kørselsfejl. Kun brugerdefinerede interne variabler accepterer en ny værdi. Variabler, der indlæses fra en ekstern fil, er også skrivebeskyttede i testen.

Én ekstern fil pr. sprog indeholder grænsefladestrengene og slutpunkterne for den pågældende lokalitet.ping Filen ændrer alle forventede værdier på én gang, så de samme trin verificerer et fransk build og et japansk build.

En miljøvariabel har én værdi for hele kørslen og er synlig for hver handling. En datatabelparameter leverer en forskellig værdi for hver iteration og tilhører et ark, der er egnet til datadrevne tilfælde.

AI-værktøjer scanner en suite for hardcodede URLs, stier og legitimationsoplysninger, og foreslår derefter miljøvariabler til at erstatte dem. Maskinlæringsmodeller markerer også værdier, der flytter sig mellem miljøer, så de rigtige poster flyttes til den eksterne fil.

Copilot udfører Environment.Value- og LoadFromFile-kald pålideligt, fordi objektet har en lille API. Behandl forslaget som et udkast: det kan ikke vide, hvilke navne der findes i din miljørude, så bekræft hvert navn, før du kører det.

Ja. Miljøobjektet kan nås fra både handlinger, funktionsbiblioteker og gendannelsesscenarier, så en gendannelseshandler kan forgrene sig på et flag som f.eks. miljønavnet uden ekstra styring.

Panelet Miljø i dialogboksen Testindstillinger navngiver den valgte fil. I koden returnerer egenskaben ExternalFileName det samme navn eller en tom streng, når der ikke blev indlæst nogen ekstern fil til kørslen.

Opsummer dette indlæg med: