Omgevingsvariabele in QTP (UFT) met voorbeeld

โšก Slimme samenvatting

Omgevingsvariabelen in QTP en UFT Eรฉn opslagplaats voor waarden die door elke actie, functiebibliotheek en herstelscenario kunnen worden gelezen, waardoor รฉรฉn test volstaat. URLs, inloggegevens, paden en taalstrings zonder ze ergens hard te coderen.

  • ๐Ÿ”˜ Wereldwijd bereik: Eรฉn variabele is zichtbaar voor elke actie, functiebibliotheek en herstelscenario in de test.
  • โ˜‘๏ธ Twee families: Ingebouwde variabelen zijn alleen-lezen; door de gebruiker gedefinieerde variabelen kunt u zelf aanmaken en wijzigen.
  • โœ… Intern versus extern: Interne variabelen worden opgeslagen binnen de test, externe variabelen bevinden zich in een deelbaar XML-bestand.
  • ๐Ÿงช Eรฉn accessoire: Environment.Value leest elke variabele en schrijft door de gebruiker gedefinieerde variabelen vanuit VBScript.
  • ๏ธ Laadtijd van de runtime: Environment.LoadFromFile vervangt een volledige set variabelen tijdens de uitvoering, waardoor รฉรฉn script meerdere omgevingen aanstuurt.
  • ๐Ÿ“Œ Ontworpen voor lokalisatie: Ruilenping Het XML-bestand wijzigt taalstrings zonder dat er ook maar รฉรฉn stap hoeft te worden uitgevoerd.

Ingebouwde en door de gebruiker gedefinieerde omgevingsvariabelen in QTP en UFT One

Wat is omgevingsvariabele?

Omgevingsvariabelen zijn dynamische "objecten" op een computer die een waarde kunnen opslaan, waarnaar vervolgens door een of meer softwareprogramma's kan worden verwezen. Windows.

Omgevingsvariabelen zijn dynamisch van aard en kunnen worden gewijzigd. Er zijn een aantal omgevingsvariabelen waarnaar programma's kunnen verwijzen en die nuttig kunnen zijn bij het verkrijgen van informatie over hun computeromgeving. De testtool houdt naast deze variabelen ook een eigen lijst bij. Windows biedt.

UFT Eรฉn omgevingsvariabele

Micro Focus UFT Omgevingsvariabelen zijn toegankelijk voor alle acties, de functiebibliotheek en herstelscenario's.

โš ๏ธ Versie-opmerking: Dit product, dat oorspronkelijk werd uitgebracht onder de naam HP QuickTest Professional, werd hernoemd naar Unified Functional Testing en wordt tegenwoordig verkocht onder de naam... OpenText Functionele testen (UFT Een)Het Environment-object en de onderstaande schermen zijn ongewijzigd gebleven; alleen de productnaam is gewijzigd. officiรซle referentie voor het milieuobject behoudt de huidige syntaxis.

Types van QTP omgevingsvariabelen

Omgevingsvariabelen zijn die variabelen die globaal in de tests kunnen worden gebruikt. Er zijn twee soorten omgevingsvariabelen

  • Ingebouwde variabelen
  • Door de gebruiker gedefinieerde variabelen (heeft 2 subtypen)
    • Intern
    • Extern

Ingebouwde variabelen beschrijven de machine en de testuitvoering en zijn alleen-lezen. Gebruikersgedefinieerde variabelen bevatten uw eigen gegevens, en alleen de interne variabelen kunnen vanuit een script worden beschreven.

Ingebouwde variabelen

In QTP, ingebouwde variabelen zijn vooraf gedefinieerde variabelen. Hiermee kan de gebruiker informatie ophalen over de test die wordt uitgevoerd en informatie krijgen over het besturingssysteem (Operating Systems) waarop de test wordt uitgevoerd. Enkele van de ingebouwde variabelen zijn Actie-iteratie, Operating-systeem, testdirectory, lokale hostnamen, Operasysteemversie enz.

Ga naar Bestand -> settings -> Ga naar het tabblad Omgeving om het gedeelte met omgevingsvariabelen te bekijken en de lijst met omgevingsvariabelen te zien. Het venster wordt geopend met de ingebouwde lijst, zoals hieronder weergegeven.

In het paneel 'Omgeving' van het dialoogvenster 'Testinstellingen' wordt een lijst met ingebouwde functies weergegeven. QTP omgevingsvariabelen

De waarden uit omgevingsvariabelen kunnen tijdens de uitvoeringssessie worden opgehaald en waar nodig gebruikt. Dit zijn de namen waar testers het vaakst naar grijpen.

Ingebouwde variabele Wat het oplevert
OS Operating systeemfamilie van de machine die de test uitvoert
OS-versie Operating systeemversie
Test naam Naam van de test die momenteel wordt uitgevoerd
TestDir In welke map wordt de test opgeslagen?
Actienaam Naam van de actie die momenteel wordt uitgevoerd
Actie-iteratie Iteratienummer van de huidige actie
LokaleHostNaam Hostnaam van de lokale machine
ResultaatDir Map waarnaar de resultaten van de run worden geschreven

Voorbeeld:

MsgBox Environment.Value("OSVersion")

Die ene regel geeft de versie van het besturingssysteem direct weer vanuit de uitvoeringssessie.

Berichtvenster waarin de waarde wordt weergegeven die wordt geretourneerd door de ingebouwde omgevingsvariabele OSVersion.

Door de gebruiker gedefinieerde variabelen

Vรณรณr uitvoering van de test zijn dit de variabelen die door de gebruiker zijn gedefinieerd. Het kan globaal worden gebruikt voor verschillende tests, maar het kan ook worden beperkt tot รฉรฉn test.

Door de gebruiker gedefinieerde variabelen werden in twee typen ingedeeld

  • Intern
  • Extern
  1. Door gebruiker gedefinieerd โ€“ Interne variabelenDeze variabelen worden door de gebruiker gedefinieerd voordat de test wordt uitgevoerd en zijn alleen beschikbaar voor een specifieke test.
  2. Door de gebruiker gedefinieerde externe variabelen: Deze variabelen worden door de gebruiker gedefinieerd en kunnen globaal voor verschillende tests worden gebruikt.

Externe variabelen kunnen op twee manieren worden geladen. Dit kan handmatig vรณรณr het uitvoeren van de test via het tabblad Omgeving of een door de gebruiker gedefinieerd scherm door het selectievakje 'Variabelen laden' aan te vinken en vervolgens het XML-bestand te selecteren. De tweede manier is via een scriptopdracht, die verderop op deze pagina wordt beschreven.

Je kunt als volgt een door de gebruiker gedefinieerde variabele aanmaken. Wijzig het variabeletype naar 'door de gebruiker gedefinieerd' en voeg een naam- en waardeveld toe.

Een nieuwe door de gebruiker gedefinieerde omgevingsvariabele toevoegen in het deelvenster Omgeving van QTP Test instellingen

De voltooide rij verschijnt vervolgens in de door de gebruiker gedefinieerde lijst.

Door de gebruiker gedefinieerde omgevingsvariabele Guru99 wordt weergegeven met de bijbehorende waarde in het paneel Omgeving.

U kunt als volgt toegang krijgen tot de variabele

MsgBox Environment.Value("Guru99")

Het berichtvenster geeft de waarde weer die is opgeslagen bij die variabelenaam.

Berichtvenster waarin de waarde van de door de gebruiker gedefinieerde omgevingsvariabele met de naam wordt weergegeven. Guru99

Methoden en eigenschappen van omgevingsobjecten

Beide lijsten zijn via รฉรฉn weg te bereiken. VBScript Een object genaamd Environment. Het bevat รฉรฉn eigenschap, รฉรฉn methode en รฉรฉn alleen-lezen eigenschap, en dat is de volledige API-interface.

Lid Type Wat het doet
Waarde Eigendom Haalt alle omgevingsvariabelen op en stelt door de gebruiker gedefinieerde variabelen in.
LadenVanUitBestand Methode Laadt een extern XML-bestand met omgevingsvariabelen tijdens de uitvoering.
Externe bestandsnaam Eigendom Retourneert het externe bestand dat is geselecteerd in het deelvenster Omgeving, of een lege tekenreeks.

Lezen is overal toegestaan. Schrijven werkt alleen met door de gebruiker gedefinieerde interne variabelen, omdat ingebouwde variabelen en variabelen die uit een bestand worden geladen, alleen-lezen zijn.

' 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

Dezelfde instructie gedraagt โ€‹โ€‹zich identiek in een actie, een functiebibliotheek of een herstelscenario.

Hoe maak je een XML-bestand voor externe omgevingsvariabelen aan en laad je dit?

Een extern bestand maakt van de variabelenlijst een deelbaar bestand, waardoor รฉรฉn test kan worden uitgevoerd op ontwikkel-, test- en productieomgevingen zonder dat er een aanpassingsstap nodig is.

  1. Definieer de waarden eerst als interne, door de gebruiker gedefinieerde variabelen in het paneel Omgeving.
  2. Gebruik de Exporteren knop op dat paneel, waarmee de juiste tekst wordt geschreven XML structuur voor jou.
  3. Sla per omgeving een apart bestand op, bijvoorbeeld EnvDev.xml en EnvProd.xml.
  4. Laat de test verwijzen naar een bestand met het selectievakje 'Variabelen laden' aangevinkt, of laad het bestand vanuit het script.

Het bestand is een platte lijst van variabele-waardeparen in de onderstaande syntaxis.

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

Het laden vanuit de code is een tweeledige beveiliging: controleer of een bestand al actief is en laad er alleen een als dat niet het geval is.

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

Beste werkwijzen en veelvoorkomende fouten

De meeste problemen komen voort uit de reikwijdte en spelling, niet uit de syntaxis. De tabel toont de fouten die testers het vaakst tegenkomen.

Symptoom Veroorzaken Bepalen
De variabele retourneert een lege waarde. De naam is verkeerd gespeld of is nooit aan deze test toegevoegd. De namen komen exact overeen; controleer de spelling nogmaals in het deelvenster Omgeving.
Er is een uitvoeringsfout opgetreden bij een toewijzingsregel. Het script schrijft naar een ingebouwde of extern geladen variabele. Alleen door de gebruiker gedefinieerde interne variabelen kunnen worden toegewezen.
Het externe bestand wordt genegeerd. Het selectievakje is niet aangevinkt en LoadFromFile is nooit aangeroepen. Vink het vakje aan of laad het bestand vanuit het script.
Een gedeelde variabele ontbreekt elders. De variabele werd gedefinieerd als intern. Verplaats het naar een extern XML-bestand, zodat elke test het kan laden.
  • Hanteer รฉรฉn naamgevingsconventie, zodat het venster leesbaar blijft naarmate de lijst groeit.
  • Houd de XML-bestanden onder versiebeheer en sla er nooit echte wachtwoorden in op.
  • Reserveer omgevingsvariabelen voor waarden die constant blijven gedurende een run, en laat de rij-voor-rij-gegevens over aan de data Table.

Veelgestelde vragen

Een onversleuteld wachtwoord in een XML-bestand is leesbaar voor iedereen die het opent. Bewaar de gebruikersnaam in een omgevingsvariabele en geef het wachtwoord door via een versleutelde waarde, zoals weergegeven in het voorbeeld. SetSecure gids.

Nee. Ingebouwde variabelen zijn alleen-lezen, dus een toewijzing ervan leidt tot een uitvoeringsfout. Alleen door de gebruiker gedefinieerde interne variabelen accepteren een nieuwe waarde. Variabelen die vanuit een extern bestand worden geladen, zijn binnen de test ook alleen-lezen.

Eรฉn extern bestand per taal bevat de interfacestrings en eindpunten voor die taal. Swapping Het bestand wijzigt alle verwachte waarden tegelijk, dus dezelfde stappen worden gebruikt om zowel een Franse als een Japanse versie te verifiรซren.

Een omgevingsvariabele bevat รฉรฉn waarde voor de hele uitvoering en is zichtbaar voor elke actie. Een parameter van een gegevenstabel levert bij elke iteratie een andere waarde en is gekoppeld aan een werkblad, wat geschikt is voor datagestuurde toepassingen.

AI-tools scannen een suite op hardgecodeerde URLHet model analyseert de paden en inloggegevens en stelt vervolgens omgevingsvariabelen voor om deze te vervangen. Machine learning-modellen signaleren ook waarden die tussen omgevingen verschillen, zodat de juiste gegevens in het externe bestand worden geplaatst.

Copilot voert de aanroepen Environment.Value en LoadFromFile betrouwbaar uit omdat het object een zeer beperkte API heeft. Beschouw de suggestie als een concept: het programma kan niet weten welke namen er in uw omgevingspaneel staan, dus controleer elke naam voordat u het uitvoert.

Ja. Het Environment-object is bereikbaar vanuit acties, functiebibliotheken en herstelscenario's, waardoor een herstelhandler kan afleiden op basis van een vlag zoals de omgevingsnaam zonder extra code.

Het paneel Omgeving van het dialoogvenster Testinstellingen geeft de naam van het geselecteerde bestand weer. In de code retourneert de eigenschap ExternalFileName dezelfde naam, of een lege tekenreeks als er geen extern bestand is geladen voor de testuitvoering.

Vat dit bericht samen met: