Synchronization
Synchronization point is
the time interface between Tool and Application under test. Synchronization
point is a feature to specify delay time between one step and another of the
test script.
For Example, clicking on
a link may load the page is 1 second, sometimes 5 seconds or even it might take
10 seconds to load it completely. It depends on various factors such as the
application server response time, network bandwidth , client system
capabilities etc.
If the time is varying
then the script will fail unless the tester handles these time differences
intelligently.
Ways to Insert Sync Point:
·
WaitProperty
·
Exist
·
Wait
·
Sync(only for web based apps)
·
Inserting QTP Inbuilt Synchronization points.
Let us say we need to
insert a sync point between clicking on "numbers" link and clicking
on "simple Interest" calculator of in "http://easycalculation.com/".
We will now take a look at all the 5 ways to insert sync point for the above
scenario.
METHOD
1: WAITPROPERTY
WaitProperty is a method that takes the property
name, Value and Timeout value as input to perform the sync. It is a dynamic
wait and hence this option is encouraged.
' Method 1 - WaitProperty with 25 seconds
Dim obj
Set obj = Browser("Math
Calculator").Page("Math Calculator")
obj.Link("Numbers").Click
obj.Link("Simple
Interest").WaitProperty "text", "Simple
Interest",25000
obj.Link("Simple Interest").Click
METHOD
2: EXIST
Exist is a method that takes the Timeout value
as input to perform the sync. Again it is a dynamic wait and hence this option
is encouraged.
' Method 2 : Exist Timeout - 30 Seconds
Dim obj
Set obj = Browser("Math
Calculator").Page("Math Calculator")
obj.Link("Numbers").Click
If obj.Link("Simple
Interest").Exist(30) Then
obj.Link("Simple
Interest").Click
Else
Print
"Link NOT Available"
End IF
METHOD
3: WAIT
Wait is a hardcoded sync point which waits
independent of the event happened or NOT. Hence usage of Wait is discouraged
and can be used for shorter wait time such as 1 or 2 seconds.
' Method 3 : Wait Timeout - 30 Seconds
Dim obj
Set obj = Browser("Math
Calculator").Page("Math Calculator")
obj.Link("Numbers").Click
wait(30)
Browser("Math
Calculator").Page("Math Calculator").Link("Simple
Interest").Click
METHOD
4: SYNC METHOD
Sync Method can be used only for web
applications where there is always a lag between page loads.
' Method 4 :
Dim obj
Set obj = Browser("Math
Calculator").Page("Math Calculator")
obj.Link("Numbers").Click
Browser("Math Calculator").Sync
Browser("Math Calculator").Page("Math
Calculator").Link("Simple Interest").Click
METHOD
5 : INSERTING QTP INBUILT SYNCHRONIZATION POINTS:
Step 1 : Get into Recording Mode.
This Option Would be Disabled if the user is NOT in Recording Mode.
Step 2 : Goto "Design" ->
"Synchronization Point" .
Step 3 : We need to Select the object which we want to be
the Sync Point. After Selecting the object, object window opens
Step 4 : Click Ok, the "Add Synchronization
Window" Opens up. Select the Property, Value and Time out value and click ok.
Step 5 : The Script would be generated as shown below
which is the same as that of the WaitProperty(Method 1) that we had already
discussed:
Browser("Math Calculator").Page("Math
Calculator").Link("Numbers").Click
Browser("Math Calculator").Page("Math
Calculator").Link("Simple Interest").WaitProperty "text", "Simple Interest", 10000
Default Synchronization:
When user hasn't used
any of the above sync methods, still QTP has inbuild Object synchronization
timeout which can be adjusted by the user.
Navigate to
"File" >> "Settings" >> Run Tab >> Object
Synchronization Time out.
No comments:
Post a Comment