qtp tutorial 21 how make qtp tests modular
Accions QTP i propietats d'acció
Les accions divideixen una prova en unitats lògiques. Això ajuda a proves molt llegibles i assegura que s’aconsegueix la modularitat.
Hi ha tres tipus d'accions QTP:
- Reutilitzable - només es poden anomenar diverses vegades dins de les mateixes proves o diferents
- No reutilitzable - No es poden anomenar per cap altra acció
- Accions externes - una acció reutilitzable quan es crida des d'una altra acció es converteix en una acció externa de l'acció cridada.
=> Feu clic aquí per veure la sèrie de tutorials de formació QTP
Què aprendreu:
Com s'utilitzen les accions QTP en proves?
# 1) Per defecte, totes les accions noves es poden reutilitzar
# 2) Cada acció té el seu propi full de dades 'Acció' o un full local
# 3) La trucada a una acció existent en una altra prova es pot inserir mitjançant l'opció de menú: ' Insereix-> Crida a una acció existent-> (Trieu prova / acció) ”
# 4) La declaració o la trucada d'acció inserida a la prova actual serà la següent:
RunAction “Action2[Testname]”, oneiteration
# 5) L'acció es cridarà tantes vegades com s'especifiqui l'acció anomenada propietats per a l'acció pare.
Per exemple,
Action2 és una acció reutilitzable a Test2. Es fa servir en cada iteració de la taula de dades de Test2.
Acció1 és l'acció que s'anomena Acció2 a la prova1.
Action1 només s'executa una vegada.
Aleshores, Action2 només s’executarà una vegada, independentment de quantes vegades s’hagi cridat a Test2.
# 6) Una acció reutilitzable prèviament es pot canviar per convertir-la en inutilitzable i viceversa.
# 7) Quan una acció reutilitzable prèviament es marca com a no reutilitzable, la prova que crida l'acció falla i es mostra un missatge d'advertència a l'usuari.
# 8) Hem vist a l’article anterior com es poden passar paràmetres a les accions “A” i “Des de”. Per definir-los, podeu fer una de les accions següents:
- Trieu l'acció de la visualització de paraules clau, feu clic amb el botó dret i trieu les propietats de l'acció.
- Mentre estigueu a l'acció de la vista experta, seleccioneu Edita-> Acció Propietats del menú.
# 9) El quadre de diàleg apareix amb General (nom, descripció, reutilitzable o no), Paràmetres (i / p o o / p), repositoris associats (pot associar OR d’una altra acció) i Utilitzat per pestanyes
# 10) Per enviar paràmetres a una acció, la sintaxi general és:
RunAction “Action Name”. Oneiteration, i/p parameters, o/p parameters
A continuació, es mostren algunes de les maneres en què podeu utilitzar el valor de sortida d'una acció a la prova en funció del vostre requisit:
com es generen nombres aleatoris en c ++ entre 0 i 100
a) El valor de l'acció o / p (valor retornat per una acció anomenada) es pot emmagatzemar en una variable.
RunAction “Action1”,OneIteration, i/pvalues, x, x being the variable
b) El valor d'acció o / p es pot emmagatzemar en una variable d'entorn.
Per crear una variable d'entorn, trieu 'Fitxer-> Configuració-> pestanya Entorn', al menú desplegable 'Tipus de variable', seleccioneu definit per l'usuari i feu clic a + i a 'Afegeix un paràmetre d'entorn nou': introduïu el nom (env_Var) i un buit valor i feu clic a D'acord.
Per assignar el valor o / p a aquesta variable,
RunAction “Action1”,OneIteration, i/pvalues, Environment(“env_var”)
c) El valor de l'acció o / p es pot emmagatzemar en una columna de taula de dades.
RunAction “Action1”, OneIteration, i/pvalue, DataTable(“A”, dtGlobalsheet)
Funcions i biblioteques de funcions QTP
Tot i que hi ha moltes funcions integrades disponibles al QTP per al provador, pot ser que hi hagi casos en què vulgueu fer una operació específica i fer que aquests passos siguin reutilitzables. Per fer-ho, creeu funcions definides per l'usuari, poseu-les en un fitxer separat, associeu-lo a la prova i feu que el nom de la funció funcioni com a paraula clau per a aquesta prova en particular.
Per definició, una funció no és res més que un tros de codi que realitza una determinada tasca.
Creem ara una biblioteca de funcions:
Utilitzeu l'opció de menú ' Fitxer-> Nou-> Biblioteca de funcions 'O' Maj + Alt + N 'o feu clic a l'opció desplegable' Nou 'del menú i trieu' Biblioteca de funcions '
QTP obrirà un editor, molt similar a la visualització de paraules clau d’una prova. Aquí podeu escriure el vostre codi. Inclouré declaracions que permetran iniciar sessió a un usuari a la pàgina gmail.com.
Function gmailLogin(uname, pwd) 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 uname Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure pwd Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click End Function
Quan hàgiu acabat d'escriure el codi, deseu la biblioteca de funcions triant el nom i la ubicació necessaris a l'ordinador.
Nota: Una biblioteca de funcions no s'inclou automàticament a cap de les proves. Haureu de fer-ho explícitament.
A continuació es detallen els passos per associar una biblioteca de funcions a la prova:
Pas 1) Obriu la prova o creeu una prova nova
Pas 2) Depenent de la configuració que tingueu al vostre IDE, és possible que ja tingueu a la vostra disposició el tauler de recursos. Si no, trieu l'opció de menú ' Veure-> Recursos ”I això mostra el panell.
Pas 3) Feu clic amb el botó dret a l'opció 'Associate Function libraries', feu clic a l'opció 'Associate Function library' i seleccioneu el fitxer de biblioteca que heu creat anteriorment.
Pas 4) Hi haurà un missatge que us demanarà la confirmació del verificador abans de convertir el camí a un camí relatiu. Això es fa per assegurar-se que la prova no falla si es mouen els fitxers sempre que se segueixi la mateixa jerarquia. Feu clic a Sí en aquest quadre de diàleg:
Com puc obrir un fitxer XML
Pas 5) A partir d’aquest moment apareixerà sota aquest node i és així com es verifica si la vostra associació ha funcionat o no.
Pas 6) Un cop hàgiu associat la biblioteca, assegureu-vos de desar la prova.
A partir d’ara si hi ha una declaració a la meva prova que sigui la següent, invocarà la funció a la biblioteca i executarà els passos que hi ha.
gmailLogin(“swatiseela”,”akihad989080890”)
A la declaració anterior, esteu passant valors de nom d'usuari i contrasenya constants. Però si ho decidiu, també podeu passar els valors de la taula de dades.
gmailLogin(DataTable('SignInName', dtGlobalSheet), DataTable('GPassword', dtGlobalSheet))
Podeu tenir més d'una funció als fitxers de la biblioteca i podeu tenir més d'un fitxer de biblioteca associat a la prova.
Conclusió
D’aquesta manera es conclouen les nostres biblioteques de funcions i accions. Aquests dos temes són crucials per a un provador, ja que fan que totes les proves siguin més modulars i reutilitzables.
El següent tema serà Dipòsits d'objectes (OR) . Discutirem com crear, associar-se i treballar amb ORs compartides i gestors de OR.
=> Visiteu aquí la sèrie de tutorials de formació QTP
No dubteu a publicar les vostres preguntes i comentaris.
Lectura recomanada
- Parametrizació a QTP (part 2): tutorial QTP núm. 20
- La parametrització a QTP s'explica amb exemples (primera part) - Tutorial QTP núm. 19
- Tutorial QTP # 14 - Com afegir punts de control de mapes de bits i de text en proves QTP
- Tutorials QTP: més de 25 tutorials de formació de Quick Focus Professional Quick Test Professional (QTP)
- Tutorial QTP # 18: marcs basats en dades i híbrids explicats amb exemples de QTP
- Tutorial QTP # 24 - Ús d'objectes virtuals i escenaris de recuperació en proves QTP
- Tutorial QTP núm. 10: escriptura de declaracions condicionals i bucles - Part 2 bàsica de scripts VB
- Tutorial de funcions principals de Python amb exemples pràctics