parameterization qtp explained with examples qtp tutorial 19
=> Feu clic aquí per veure la sèrie de tutorials de formació QTP
Què aprendreu:
- Què és la parametrització QTP?
- Tipus de parametrització a QTP
- Parametrizació en QTP mitjançant dades basades en exemples
- Lectura recomanada
Què és la parametrització QTP?
De vegades, l'aplicació no accepta registres de dades duplicats. En aquest cas, si executeu el mateix script de prova amb un conjunt fix de dades d'entrada, una aplicació pot generar un error a causa de la duplicació de dades. Per evitar aquest problema, QTP proporciona maneres d'acceptar diferents entrades de prova a l'script de prova.
Aquest procés de proporcionar diferents valors d’entrada a través de paràmetres externs s’anomena Parameterització
Tipus de parametrització a QTP
El valor de la variable pot ser o els tipus de paràmetres poden ser:
- Paràmetres de la taula de dades
- Paràmetres de prova / acció
- Paràmetres variables d'entorn
- Paràmetres del número aleatori
En aquest tutorial QTP, ens centrarem principalment en la parametrització mitjançant Datatable. En el següent tutorial explicarem altres tipus de mètodes de parametrització.
Parameterització a QTP
Suposem que proveu d’escriure un programa que comprovi els valors d’inici de sessió per a un parell d’usuaris a gmail.com. El següent és el codi que teniu per a un usuari, però voleu que el mateix prengui valors diferents cada vegada. Com ho fas?
on trobar la clau de seguretat de la xarxa al router
Codi per iniciar la sessió a Gmail per a un usuari:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Ara aneu a la visualització de paraules clau i feu clic a la columna de valor per a les declaracions del conjunt d'identificadors i contrasenyes de correu electrònic.
La pantalla típica que apareix quan intenteu parametritzar:
Com podeu veure, el valor pot ser una constant, 'swatiseela', en aquest cas, l'identificador d'inici de sessió.
O si escolliu l'opció de parametrització, s'activaran els camps corresponents a la pantalla.
Des d'aquesta pantalla, podeu optar per parametritzar el valor escollit amb un valor de la taula de dades, una variable d'entorn o un número aleatori. Com que la font més utilitzada és la taula de dades, en parlarem primer.
què és el sistema operatiu a l'ordinador
A part d’aquests, podeu utilitzar els valors d’entrada i sortida d’una determinada acció com a paràmetre d’un valor. També ho parlarem d'aquí a una estona.
Parametrizació en QTP mitjançant dades basades en exemples
Parametrizació en QTP mitjançant Excel
He comprovat el valor del paràmetre ACTIVAT i hi ha una ubicació al camp Datatable després del nom.
Nom El nom de columna corresponent a la taula de dades des d'on cal prendre les dades. Per defecte, QTP suggerirà un nom. Teniu l'opció de mantenir-lo segons el suggeriment o canviar-lo segons calgui.
global Full: Aquest full de dades està disponible per a totes les accions d'una prova.
Full d’acció actual o full local: com el seu nom indica, és el full de dades disponible per a una acció determinada.
Vaig a diverses files de dades al full de dades global. Aquí és on és útil l’eina de codificació de contrasenyes. Podeu introduir valors xifrats al full de dades que obtingueu amb aquesta eina.
Així és el meu full de dades:
Després de la parametrització, aquest és el aspecte del codi:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('SignInName', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('GPassword', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close
Veureu al codi anterior que els valors de l’identificador de correu electrònic i la contrasenya s’extreuen de la taula de dades.
Aquest codi s’executarà per a les 4 files de dades del full global si a la pantalla següent he activat l’opció “Executa a totes les files”:
combinar el codi d'ordenació en c ++ amb recursivitat
Per si de cas, si no voleu utilitzar la pantalla anterior per decidir quantes files cal executar el codi, podeu fer-ho per programació. Per a això, heu de seleccionar l'opció 'Executa només una iteració' a la pantalla anterior i escriure el codi de la següent manera:
for i=1 to datatable.GetRowCount SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync datatable.SetCurrentRow(i) varName=datatable.value('SignInName') varPwd=datatable.Value('GPassword') Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set varName Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure varPwd Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close next
En executar una prova que s’executa en dues iteracions, es mostrarà la pantalla de resultats de la prova:
M'agradaria dedicar una estona a examinar el codi i intentar entendre per què cada línia i el seu ordre són importants per a l'execució de la prova amb èxit:
- Per què obro el navegador dins del bucle 'for'?
- Per què hi ha sentències de sincronització a tot arreu?
- Per què tanquem el navegador per programació al final en lloc de deixar que l'opció 'Enregistra i executa la configuració: tanqueu el navegador quan es tanca la prova' ens en faci càrrec?
- De nou, per què la declaració de tancament es troba dins del bucle 'for'?
Tingueu en compte que al fragment de codi anterior no he declarat les variables d'aquesta prova, no he sagnat les afirmacions ni he proporcionat comentaris. Això és deliberat, ja que no volia diluir l’essència de les afirmacions. El següent concepte respondrà a aquestes preguntes:
Estat del vostre AUT:
La regla bàsica és: cada iteració hauria de començar amb que el AUT sigui el mateix estat i acabi en el mateix estat.
- Si la declaració per obrir la pàgina gmail.com fos fora del bucle for, la prova funcionaria bé per a la primera iteració, però per a la següent, la pàgina gmail.com no s'hauria obert i la prova fallaria.
- Si la declaració de tancament del navegador no s’inclou a la prova, la prova obriria un navegador amb cada iteració i acabareu tenint tantes instàncies del navegador obertes al nombre de files de la taula de dades.
- Imagineu si la sentència de tancament estava fora del bucle for, també acabareu amb massa navegadors.
- Instrucció de sincronització: això obliga la prova QTP a esperar fins que es carregui completament una determinada pàgina abans de començar a fer-hi una determinada operació.
Intenteu sempre retornar la vostra sol·licitud a l’estat on va començar. Això us assegurarà que proporcioneu la mateixa interfície per a la interacció de cadascuna de les vostres iteracions.
El següent és el fragment de codi quan feu servir un full local en lloc del global:
Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('Name', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('Pwd', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click
A QTP podeu parametritzar valors de:
- Punts de control.
- Propietats de l'objecte per a un pas seleccionat.
- Arguments d'operació definits per a un pas seleccionat.
- Una o més propietats d'un objecte emmagatzemat al dipòsit d'objectes local al quadre de diàleg Propietats de l'objecte o a la finestra del dipòsit d'objectes.
L'anterior també és un exemple de dades que condueixen a una prova determinada. Veurem com es pot parametritzar mitjançant el fitxer altres tipus de paràmetres al següent article.
=> Visiteu aquí la sèrie de tutorials de formació QTP
Lectura recomanada
- Parametrizació a QTP (part 2): tutorial QTP núm. 20
- Tutorials QTP: més de 25 tutorials de formació de Quick Focus Professional Quick Test Professional (QTP)
- Tutorial Selenium Find Element By Text amb exemples
- Tutorials Eclipse en profunditat per a principiants
- Tutorial QTP # 18: marcs basats en dades i híbrids explicats amb exemples de QTP
- Tutorial QTP núm. 6: entendre la configuració de registre i execució de QTP per a la nostra primera prova
- Tutorial QTP # 24 - Ús d'objectes virtuals i escenaris de recuperació en proves QTP
- Programació descriptiva en QTP i connexió a bases de dades en QTP - Tutorial núm. 25