parameterization qtp explained with examples qtp tutorial 19
Klik hier voor de serie QTP-traininghandleidingen
Wat je leert:
- Wat is QTP-parametrering?
- Typen parametrisering in QTP
- Parametrering in QTP met behulp van datatable met voorbeeld
- Aanbevolen literatuur
Wat is QTP-parametrering?
Soms accepteert de applicatie geen dubbele gegevensrecords. Als u in dit geval hetzelfde testscript uitvoert met een vaste set invoergegevens, kan een toepassing een fout genereren vanwege gegevensduplicatie. Om dit probleem te voorkomen, biedt QTP manieren om verschillende testinvoer voor het testscript te accepteren.
Dit proces waarbij verschillende invoerwaarden worden opgegeven via externe parameters, wordt parametrisering genoemd
Typen parametrisering in QTP
De variabele waarde kan zijn of de parametertypes kunnen zijn:
- Gegevenstabelparameters
- Test- / actieparameters
- Parameters voor omgevingsvariabelen
- Willekeurige nummerparameters
In deze QTP-tutorial zullen we ons voornamelijk richten op parametrisering met behulp van datatable. In de volgende tutorial zullen we andere soorten parametrisatiemethoden uitleggen.
Parametrering in QTP
Stel dat u een programma probeert te schrijven dat de inlogwaarden voor een aantal gebruikers op gmail.com controleert. Het volgende is de code die u voor één gebruiker heeft, maar u wilt dat dezelfde elke keer verschillende waarden krijgt. Hoe doe je dit?
Code om in te loggen bij Gmail voor één gebruiker:
Ga nu naar de weergave Trefwoord en klik op de waardekolom voor de instructies voor het e-mailadres en wachtwoord.
Het typische scherm dat verschijnt wanneer u probeert te parametreren:
Zoals u kunt zien, kan de waarde een constante zijn, in dit geval 'swatiseela', de login-ID.
Of als u de parameteriseren optie kiest, dan worden de corresponderende velden in het scherm geactiveerd.
Vanuit dit scherm kunt u ervoor kiezen om de gekozen waarde te parametriseren met een waarde van de gegevenstabel, omgevingsvariabele of een willekeurig getal. Aangezien de meest gebruikte bron de gegevenstabel is, zullen we dat eerst bespreken.
Afgezien van deze zou u de invoer- en uitvoerwaarden van een bepaalde actie als parameter voor een waarde kunnen gebruiken. Daar zullen we straks ook over praten.
Parametrering in QTP met behulp van datatable met voorbeeld
Parametrering in QTP met Excel
Ik heb de parameterwaarde AAN gecontroleerd en dan is er een locatie in het Datatable-veld na de naam.
Naam De bijbehorende kolomnaam in de gegevenstabel waaruit de gegevens moeten worden gehaald. Standaard stelt QTP een naam voor. U heeft de mogelijkheid om het te behouden zoals voorgesteld of het indien nodig te wijzigen.
Globaal Vel: Dit gegevensblad is beschikbaar voor alle acties in een test.
Actueel actieblad of lokaal blad: zoals de naam suggereert, is het het gegevensblad dat beschikbaar is voor een bepaalde actie.
Ik ga naar meerdere rijen met gegevens naar het algemene gegevensblad. Dit is waar de wachtwoord-encoder-tool van pas komt. U kunt versleutelde waarden invoeren in uw gegevensblad dat u van deze tool krijgt.
Dit is hoe mijn gegevensblad eruit ziet:
Na parametrering ziet de code er zo uit:
kortste pad-algoritme in de broncode van Java
U zult in de bovenstaande code zien dat de waarden voor de e-mail-ID en het wachtwoord uit de gegevenstabel zijn gehaald.
Deze code wordt uitgevoerd voor alle 4 rijen met gegevens in het algemene blad als ik in het volgende scherm de optie 'Uitvoeren op alle rijen' AAN zet:
Voor het geval u het bovenstaande scherm niet wilt gebruiken om te beslissen voor hoeveel rijen de code moet worden uitgevoerd, kunt u dit programmatisch doen. Daarvoor moet u de optie 'Alleen één iteratie uitvoeren' op het bovenstaande scherm selecteren en de code op de volgende manier schrijven:
Bij het uitvoeren van een test die gedurende 2 iteraties wordt uitgevoerd, ziet het scherm met testresultaten er zo uit:
Ik zou graag wat tijd willen besteden aan het onderzoeken van de code en proberen te begrijpen waarom elke regel en de volgorde ervan belangrijk is voor het succesvol uitvoeren van de test:
- Waarom open ik de browser in de 'for'-lus?
- Waarom zijn er overal synchronisatie-instructies?
- Waarom sluiten we de browser programmatisch aan het einde in plaats van dat de optie 'Instellingen vastleggen en uitvoeren - Sluit de browser wanneer test sluit' dat voor ons doet?
- Nogmaals, waarom bevindt de afsluitende verklaring zich in de 'for'-lus?
Houd er rekening mee dat ik in het bovenstaande stuk code de variabelen in deze test niet heb gedeclareerd, de uitspraken niet heb ingesprongen of commentaar heb gegeven. Dit is opzettelijk omdat ik de essentie van de uitspraken niet wilde verwateren. Het volgende concept zal deze vragen beantwoorden:
Staat van uw AUT:
De basisregel is - Elke iteratie moet beginnen met de AUT in dezelfde staat en eindigen in dezelfde staat.
- Als de instructie om de gmail.com-pagina te openen zich buiten de for-lus bevond, zou de test prima werken voor de eerste iteratie, maar voor de volgende zou de gmail.com-pagina niet zijn geopend en zou de test mislukken.
- Als de instructie om de browser te sluiten niet in de test is opgenomen, zou de test bij elke iteratie een browser openen en zou je uiteindelijk net zoveel exemplaren van de browser openen als het aantal rijen in de gegevenstabel.
- Stel je voor dat de close-instructie buiten de for-lus valt, dan krijg je ook te veel browsers.
- Sync-instructie: dit dwingt de QTP-test om te wachten tot een bepaalde pagina volledig is geladen voordat deze een bepaalde bewerking erop begint uit te voeren.
Probeer altijd uw aanvraag terug te brengen naar de staat waarin deze is begonnen. Dit zorgt ervoor dat u voor elk van uw iteraties dezelfde interface biedt om mee te communiceren.
Het volgende is het stuk code wanneer u een lokaal blad gebruikt in plaats van het globale:
In QTP kunt u waarden parametriseren van:
- IJkpunten.
- Objecteigenschappen voor een geselecteerde stap.
- Bewerkingsargumenten gedefinieerd voor een geselecteerde stap.
- Een of meer eigenschappen van een object dat is opgeslagen in de lokale objectrepository in het dialoogvenster Objecteigenschappen of in het venster Objectrepository.
Het bovenstaande is ook een voorbeeld van gegevens die een bepaalde test besturen. We zullen zien hoe u parameters kunt instellen met behulp van de andere parametertypen in het volgende artikel.
Bezoek hier voor de QTP Training Tutorials-serie
Aanbevolen literatuur
- Parametrering in QTP (deel 2) - QTP Tutorial # 20
- QTP-zelfstudies - 25+ Micro Focus Quick Test Professional (QTP) -traininghandleidingen
- Selenium Find Element By Text Tutorial met voorbeelden
- Diepgaande Eclipse-zelfstudies voor beginners
- QTP Tutorial # 18 - Datagestuurde en hybride frameworks uitgelegd met QTP-voorbeelden
- QTP-zelfstudie # 6 - QTP-record en instellingen voor uitvoeren voor onze eerste test begrijpen
- QTP Tutorial # 24 - Virtuele objecten en herstelscenario's gebruiken in QTP-tests
- Beschrijvende programmering in QTP en databaseverbinding in QTP - Tutorial # 25