qtp tutorial 23 qtp smart object identification
I denna QTP-handledning kommer vi att lära oss - Smart Object-identifiering, lägga till synkroniseringspunkt, köra ett test och visa resultaten och Silent Test-löparen.
=> Klicka här för QTP Training Tutorials Series
Antag en situation när inget objekt matchar eller flera objekt matchar den inspelade beskrivningen för ett objekt under körtiden, hur hanterar QTP det?
Vad du kommer att lära dig:
- Smart identifiering
- Synkroniseringspunkt
- Kör ett test
- Testresultat
- Transaktioner
- Silent Test Runner
- Rekommenderad läsning
Smart identifiering
QTP har en mekanism för exakt sådana fall. Om den inspelade beskrivningen inte gör det möjligt för QTP att identifiera det angivna objektet i ett steg, och en smart identifieringsdefinition definieras (och aktiveras) för objektet, försöker QTP att identifiera objektet med hjälp av 'Smart identifiering'.
Låt oss se hur detta fungerar med några exempel. För varje objekt finns primära egenskaper och sekundära egenskaper.
Exempel 1: Objekt med den inspelade beskrivningen hittades inte.
På en sida fanns en knapp och följande är egenskaper:
- Primär: Namn
- Sekundär: Abs x, y
Under inspelningen var egenskapen 'Namn' 'Inloggnings-ID'. På grund av vissa ändringar av applikationen ändras egenskapen 'Namn' nu till 'Användar-ID'. I detta fall kommer QTP att hitta en knapp med en annan beskrivning och den skulle misslyckas om den tar hänsyn till de primära egenskaperna ensamma.
Men i sådana fall när de primära egenskaperna inte matchar kontrollerar den de sekundära och om de matchar känner igen objektet. I det här fallet kommer den att känna igen knappen med dess X- och Y-koordinater.
Exempel 2: QTP skulle hitta en sida X och det finns 2 sidor med liknande webbläsarinställningar.
I det här fallet försöker den också använda 'namn' eller andra egenskaper för att hitta rätt sida / sidor och fungerar därefter.
Ovanstående 2 är exempel på fall där QTP kopplar in Smart Identification-mekanismen.
- Testresultaten visar också om ett steg använde Smart identifiering för att köra framgångsrikt.
- Om QTP inte kan hitta objektet trots Smart Identification misslyckas testet.
För de flesta av objekten tillhandahåller QTP en standardbasfilteregenskaper (primär) och valfria filteregenskaper (sekundär) som den kontrollerar om vi aktiverar smart identifiering för dem. Användaren har också möjlighet att redigera vilka egenskaper som ska beaktas. För att göra det, gå till ' Verktyg-> Objektidentifiering ' .
Välj relevant miljö i listrutan och välj Objektklass. När du väl har valt det markerar du 'Aktivera smart identifiering' och klickar på 'Konfigurera'.
Klicka på Lägg till eller ta bort
Välj egenskaperna efter behov:
unix-kommandon med exempel och syntax
Gör ditt val och klicka på OK när du är klar.
Ovanstående process säkerställer att nästa gång den har svårt att identifiera ett objekt av denna klass kommer den att använda smart identifiering för att göra det.
För de flesta föremål är 'Smart identifiering' också PÅ som standard. Du kan se var detta är fallet för ett visst objekt genom att komma åt det i ELLER under 'Ytterligare detaljer' i dess objektegenskaper.
Den är inställd på ”True” om aktiverad och ”False” om inaktiverad.
Du kan också välja att aktivera eller inaktivera Smart identifiering helt för en testkörning. Välja ' Arkiv-> Inställningar-> Kör-> Inaktivera Smart Identification under körningssessionen ' alternativ.
Synkroniseringspunkt
Tänk på det här programmet,
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
I en idealisk värld, så snart du trycker på 'Logga in' -knappen på Gmail-inloggningssidan, bör 'Inkorgen' visas utan förseningar. Det betyder att applikationens tillstånd är klart för det sista uttalandet i vårt exempel som ska köras omedelbart efter det sista men ett uttalande körs.
Men i realtid, på grund av många anledningar, laddas applikationer inte alltid i samma takt. Om vi inte instruerar QTP att vänta en stund innan det går vidare. Mer specifikt tills ett objekt uppnår ett visst tillstånd.
En synkroniseringspunkt används för att instruera QTP att vänta tills en viss objektegenskap uppnår det värde du anger.
När du sätter in en synkroniseringspunkt sätts ett “Wait Property” -uttalande in i testet.
Browser('Gmail: Email from Google').Page('Gmail - Inbox'). Link('Sign out').WaitProperty “Visibile”,true,20
Så ditt nya program kommer att se ut så här: (rad # 6 nedan)
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').WaitProperty “Visible”,true,1000 Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Den kan infogas under inspelning med menyalternativet ' Infoga-> Synkroniseringspunkt ' . Välj objektet för att infoga synkroniseringspunkten.
Ange värdet efter behov:
Detta är uttalandet som införs:
Browser('Gmail - Inbox').Page('Gmail - Inbox').Link('Sign out').WaitProperty 'visible', true, 10000
Kör ett test
# 1) Automation-> Kör eller F5 kör vanligtvis hela testet.
#två) Du kan köra en del av testet genom att välja “Automation-> Kör aktuell åtgärd” alternativ
# 3) Du kan köra ett test från en viss punkt i ditt test genom att välja ' Automation-> Kör från steg ' alternativ.
# 4) Så snart du väljer något av ovanstående sätt att köra ett test uppmanas du att välja platsen där du vill att testresultaten ska lagras. Du kan välja mappen genom att välja det första alternativet, i vilket fall resultaten sparas för varje instans av testkörningen.
Men om du väljer nästa alternativ, en tillfällig mapp, skrivs resultaten över och endast det senaste testkörningsresultatet lagras i den valda mappen. När det gäller minne är det lämpligt att använda det andra alternativet när du testar ditt QTP-test. Om du inte vill ha alla testkörningsresultat, välj inte det första alternativet eftersom det uppenbarligen kommer att använda mycket utrymme.
# 5) Ingångsparametrar: Om testingångsparametrarna definierades för detta test är den här fliken platsen där du anger dem.
# 6) Du kan också köra ett par tester samtidigt på en gång. QTP har ett “Batch Runner” -verktyg. Det är också ett externt verktyg precis som ett 'lösenordskodarverktyg' som vi diskuterade tidigare.
# 7) För att starta gå till “ Program> QuickTest Professional> Verktyg> Test Batch Runner ”. Skapa en batch (.mtb) med
# 8) När du har skapat en lista kör du batchen med ikon. När batchkörningen är klar kan du se resultaten för varje test i standardmappen för testresultat ( res # rapport ).
Testresultat
I våra artiklar hittills, om vi diskuterar datatabell iteration , kontrollpunkter , smart identifiering eller i allmänhet teststegskörningen, testresultaten är den plats du får se om något lyckades eller inte.
Förutom ovanstående kan testresultaten hålla skärmdumpen av din AUT när ett fel inträffar. Detta beror på inställningarna på ' Arkiv-> Inställningar-> Kör ”.
Testaren kan skriva ut och exportera testresultat.
qa ingenjör intervju frågor och svar
För att göra testresultaten mer begripliga kan användaren skriva in sina kommentarer i testresultaten.
Till exempel, om ett visst villkor misslyckas i ditt test kanske du vill skriva i testresultaten att ”Fungerade inte för värdet X”. Du kan göra det med uttalandet “reporter.reportevent”. Följande är syntaxen:
Reporter.Reportevent (Event Status, Reporter step name, details)
Händelsestatus: MicPass, MicFail, MicWarning, MicDetail, de två följande parametrarna kan vara vilken text som helst som innehåller ytterligare detaljer.
Om detta är mitt uttalande och jag kör det:
reporter.ReportEvent micPass, 'Swatis First Step', 'Passed coz I bad it to pass ...'
Testresultaten kommer att se ut så här: (klicka för att förstora bilden)
Transaktioner
Eftersom det här inte är en mycket använd funktion kommer jag att göra en introduktion på hög nivå här.
Normalt är ett test uppdelat i transaktioner när du måste mäta hur lång tid det tar att köra ett visst avsnitt av det.
Det används också när ett QTP-test ska användas av Load Runner eller Business Process Monitor. I något av dessa fall måste ditt test registreras i termer av en transaktion och allt utanför det ignoreras.
Du kan starta en transaktion från QTP med ' Infoga-> Starta transaktion ' . Ge det ett namn, välj om du vill ha det före eller efter det aktuella steget och välj OK.
Services.StartTransaction “TransactionTest” - Sätts in. Nu kommer jag att spela in en inloggning på Gmail.com.
När du är klar inspelningen. Välja ' Infoga-> Avsluta transaktion ' . Klicka på OK.
Services.EndTransaction “TransactionTest” - sätts in.
Detta är koden:
tecken till sträng c ++
Nu ska jag köra detta test. Låt oss se hur testresultaten ser ut. Resultaten visar en sammanfattning i termer av den tid det tar att avsluta transaktionen.
Silent Test Runner
Ett annat verktyg som QTP tillhandahåller är Silent Test-löparen. Detta gör att testaren kan köra sitt test utan att behöva starta QTP. Det hjälper också till att simulera QTP-körningar från load runner och verifiera dess kompatibilitet med detsamma.
Det fungerar inte om QTP redan är öppet och ett annat test körs via det.
Använda sig av Start > Program > QuickTest Professional > Verktyg > Silent Test Runner menykommandot för att åberopa det. Välj testet och klicka på 'Kör test'
Så här ser det ut när du kör testet:
När det är klart:
Testkörningslogg:
'Transaktionsöversikt' aktiveras om testet innehåller minst en transaktion.
Vi har nu nått slutet av denna handledning och har täckt en hel del diverse QTP-ämnen här. Jag hoppas att detta är användbart för alla er.
Skicka gärna dina kommentarer och frågor.
=> Besök här för QTP Training Tutorials Series
Rekommenderad läsning
- Objektförvar i QTP - Handledning nr 22
- QTP-handledning # 7 - QTP: s objektidentifieringsparadigm - Hur QTP identifierar objekt unikt?
- QTP-handledning # 8 - Lär dig om QTP-inspelningslägen, Object Spy och Object Repositories
- Parameterisering i QTP (del 2) - QTP-handledning nr 20
- QTP-handledning # 18 - Datadrivna och hybridramar förklarade med QTP-exempel
- Parameterisering i QTP förklarad med exempel (del 1) - QTP-handledning nr 19
- QTP-handledningar - 25+ Micro Focus Quick Test Professional (QTP) -träningsövningar
- QTP-handledning # 6 - Förstå QTP-inspelnings- och körinställningar för vårt första test