Learn HP QTP 10.0 - Part 2

advertisement
A Quick Revision of HP QTP 10.0
An Advanced Solution to
Functional & Regression Test Automation
Part - 2
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Topics Covered in Part - 2







Recovery Scenarios
Keyword Driven Testing Framework
Script Debugging
Database Management by SQL Queries
Relative Path
Regular Expressions
Working with HP Quality Center
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
What is a Recovery Scenario?
Recovery Scenario is a mechanism by which QTP handles any
unexpected windows, pop-ups or application crashes while the test is
running so that the test is not interrupted.
Every type of recovery situation needs to be handled with a separate
recovery scenario.
The recovery scenarios continuously look for the recovery situations
occurring in the application as long as the test is running.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Select "recovery Scenario Manager" from the "Resources" menu.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Recovery Scenario Wizards starts. Click Next on this screen.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Depending on the desired type
of recovery scenario, select the
appropriate Radio button.
Recovery scenarios can be
defined for unwanted Pop-up
window, Object state, Test run
error or application crash.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Click Next button to view a pop-up window.
For Instance, following Pop-up window may appear while navigating
from non-secure to a secure web page.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
QTP captures the window
title and window text.
Uncheck the checkbox
"Window text contains".
Now QTP look for any
security window with the
title Security Information or
any generic title.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
If the window title changes
dynamically with some
pattern, Click the checkbox
"Regular Expression"
and provide the pattern.
Click Next
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Next screen informs us that we should define the recovery operation to
be done in order to handle this window.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Click Next button to view the Recovery Operation window.
Select the appropriate action to be performed.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Keyboard or mouse operation allows us to click a button on the screen.
Close application process allows us to kill the process which starts the
unwanted window so we can continue with testing.
Function call will allow us to write a user-defined function to handle the
unwanted window.
Restart Microsoft Windows allows us to restart the windows all together if
needed.
In above example, click on the first radio button "Keyboard or mouse
operation".
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
We can show the button we want QTP to click using the hand icon in the
following screen and click Next button.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
We can add another
recovery scenario if needed
from the following screen.
If we don't want to create
another scenario uncheck
the checkbox "Add another
recovery operation"
Click "Next"
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Following screen allows us to define the Post-recovery operation to be
performed.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Since the recovery scenario is kicked off only when the error is about to
be thrown since QTP could not find an object because of the unwanted
window or object state it is logical to re-execute that particular statement
again after the post-recovery operation.
Hence select the option "Repeat current step and continue".
If the situation is different, make the appropriate selection depending on
the desired operation.
If the exception does not allow us to test the application anymore in this
test run, select the last radio button "Stop the test run"
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Use “Proceed to next step” if you want to continue with the test.
Use “Proceed to next action” if you want to skip the current action in the
flow and continue with the next action.
Use “Proceed to next test iteration” if you want to skip the current row
of global row and continue with the next row of Global sheet.
Use “Restart current test run” if you want to start the test altogether.
Click Next.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Provide a name for the recovery scenario and click "Next".
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Make sure that the checkboxes "Add scenario to current test" and
"Add scenario to default test settings" are selected as shown below.
This will add the Recovery scenario to the current and the QTP settings
as well.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Click "Finish" and follow the further steps to save the recovery scenario
to a recovery file
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Save the recovery scenario to a recovery file by Clicking the “Save”
button in the following screen.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to create a recovery scenario?
Save the file to Disc
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Keyword-driven testing is a technique that separates much of the
programming work from the actual test steps so that the test steps can be
developed earlier and can often be maintained with only minor updates,
even when the application or testing needs change significantly.
The Keyword-driven automation infrastructure usually includes one or
more shared object repositories and one or more function libraries.
Once the test automation infrastructure is ready, the application testers can
begin designing their keyword-driven tests by selecting objects and
operation keywords in the Keyword View.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
The keyword-driven testing methodology divides test creation into two
stages:
1) Preparing a set of testing resources or test automation
infrastructure:
Preparing the test automation infrastructure includes a planning stage and
an implementation stage.
2) Creating tests in the QTP Keyword View: by selecting the keywords
(objects and/or operations) that represent the application functionality we
want to test.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Advantages of keyword-driven testing methodology:
Benefit No.1: It enables us to design our tests at a business level rather than
at the object level.
For example, QTP may recognize a single option selection in our application
as several steps: a click on a button object, a mouse operation on a list
object, and then a keyboard operation on a list sub-item.
We can create an appropriately-named function to represent all of these
lower-level operations in a single, business-level keyword.
Benefit No. 2: By incorporating technical operations, like a synchronization
statement that waits for client-server communications to finish, into higher
level keywords, tests are easier to read and easier for less technical
application testers to maintain when the application changes.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Advantages of keyword-driven testing methodology:
Benefit No. 3: Keyword-driven testing leads to a more efficient separation
between resource maintenance and test maintenance.
This enables the automation experts to focus on maintaining objects and
functions while application testers focus on maintaining the test structure
and design.
Benefit No.4: When recording tests, we may not notice that new objects
are being added to the local object repository.
This may result in many testers maintaining local object repositories with
copies of the same objects. When using a keyword-driven methodology,
you select the objects for your steps from the existing object repository.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Advantages of keyword-driven testing methodology:
When you need a new object, you can add it to your local object
repository temporarily, but you are also aware that you need to add it to
the shared object repository for future use.
Benefit No. 5: When we record a test, QTP enters the correct object
methods, and argument values for us.
Hence it is possible to create a test with little preparation or planning.
Repercussions: Although we can easily create our tests quickly, But
# Such tests are harder to maintain when the application changes and
often require re-recording large parts of the test.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Advantages of keyword-driven testing methodology:
While using keyword-driven methodology, we select from existing objects
and operation keywords. Hence we must need to be familiar with both the
object repositories and the function libraries that are available.
We must also have a good idea of what we want our test to look like before
we begin inserting steps.
This usually results in well-planned and better-structured tests, which also
results in easier long-term maintenance.
Benefit No. 6: Automation experts can add objects and functions based on
detailed product specifications even before a feature has been added to a
product.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Using Keyword Driven Testing
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
In Keyword Driven Testing Framework every resource of QTP is
considered as a Keyword and can be dragged and dropped into the script
area from the "Available Keywords" section.
For being successful with this framework the names of the resources
should be clear and relevantly indicates the function of that particular
resource.
For Instance, a function meant for creating a policy for a customer may be
named as "CreatePolicy".
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
When we expand every folder in the Available Keywords section, we can
view all the resources or Key words listed out there.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
When we drag and drop the objects from the Object repository to the
script area, the script is automatically populated for us with the most
common method used for that kind of object.
For Instance:
Browser("OAKLEAF Acorn - Log in"). Page(" OAKLEAF Acorn").
Frame("mainBody"). WebButton("Add"). Click
Browser("OAKLEAF Acorn -Login").Page("OAKLEAF Acom").Frame("
main Body").WebEdit("CIientSubGroup").Set
When we do the same from the “Key Word view” it allows us to set the
value for that method.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Please refer the snapshot.
We can set the value of the Edit
field "CommunicationValue" by
clicking in the "Value" field of the
Keyword view for that object after
dragging the object and by
clicking "#" sign which opens the
"Value Configuration Options"
window where we can enter the
value or we can parameterize the
value.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
The key to the success of the Key word driven framework is creating as
many functions as possible for the application and adding all the objects of
the application to the repository before starting the project.
There are two types of function libraries:
1) For application specific library where we store all the functions which
cover the test cases
And
2) With generic functions which includes the functions like
CIoseAllBrowsers(), VerifyObjectEnabled etc.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Keyword Driven Framework can be further simplified by using the
Keywords or flags from a data table.
For Instance:
If DataTable("WeightTicket",dtGIobaISheet) = "Yes" Then
RunAction "WeightTicketVerification [WeightTicketVerification]",
onelteration
End If
In this example, the flag "WeightTicket" in the Global Sheet is set to
"Yes" or "No" and depending on the value of that flag we run the Action
pertaining to that functionality, in this case the action name is
"WeightTicketVerification".
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Keyword Driven Frame Work emphasizes that
1) All the functionality is coded in the functions
2) All these functions are dragged into the script area
This avoids the script outside the function library
It is very important to name the functions carefully with relevant and
meaningful names.
If we have to use multiple function libraries, we need to ensure that the
names of every function are unique i.e they should not repeat.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Keyword Driven Testing Framework
Use of an Initialization script
As a best practice an Initialization script is used to load all the required
resources into QTP
Secondly this is called in to the Driver script having flow of actions
Such driver script can be called “Flow”.
The initialization script should be kept as the first script in the flow of
actions.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Script Debugging
Script debugging is a process, involving careful examination of the code
line by line while executing the script with an objective to see the actions
performed by the script at every step.
This is required to fix a script which does not perform as expected.
Debugging is a process of eliminating the bugs in QTP scripts.
For starting the debugging process, go to "Debug" menu and select the
desired debug process.
We can start debugging from the existing position of the cursor or we can
execute the script up to the cursor position in the debug mode.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Script Debugging
There are two types of debugging processes:
1) Debugging by "Step Into": When we select "Step Into" option, we
can see if a function being executed is performing as expected.
This will open the function desired to be debugged in "Read Only" mode
and we can keep on hitting the “F11” key on the keyboard to view the
execution of every line of the function.
2) Debugging by "Step Over: This option is selected when we are sure
that the function is performing as expected & we don't want to view the
execution of the function.
We can hit "F10" key to execute the entire function without stopping and
will stop for our next command at the beginning of the next line after the
function call.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Script Debugging
We can watch the values of the variables by adding the variables to the
watch list.
How to do?
Place the cursor on the variable whose value needs to be watched while
the script is being executed and from the "Debug" menu
Select "Add to Watch".
This will add the variable to the Watch list in the debug viewer at the
bottom of the script.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Script Debugging
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Database Management by SQL Queries
Whenever needed, we can write the SQL queries and do the insert, delete
and update of the records in the database using QTP scripts.
We need the Data Source Name (DSN) information which can be created
using the Database checkpoint.
While creating the database checkpoint, once the DSN is created we can
view the code for the connection between QTP & the database.
We can copy this code and save this string for use while connecting
directly from the script I.e. without going through the checkpoint.
DSN establishes a connection between QTP and the database we plan to
work on.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Database Management by SQL Queries
We can drive the input to the SQL query using the data table values.
Example of QTP script to connect to the sample flight VB application's
database provided with QTP and deletes the order from the Orders table
taking the order number from the "OrderNumber" field in the Global Sheet
of the data table.
Set MyConn = CreateObject ("ADO DB.Connection")
MyConn.ConnectionString = "DBQ=C:\Program Files\HP\QuickTest
Professional\samples\flight\app\flight32.mdb;
DefauItDir=C:\Program Files\HP\QuickTestProfessional\samples\flight\app;
Driver={Microsoft Access Driver (*.mdb, *.accdb)};
Driverld=281;FIL=MS Access; FILEDSN=C:\Program Files\Common
Files\ODBC\Data Sources\FlightJuly10DSN.dsn;
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Database Management by SQL Queries
MaxBufferSize=2048;MaxScanRows=8;PageTimeout=
5;SafeTransactions=O;Thread s=3;UID=admin;UserCommitSync=Yes;"
Set RecordSet = CreateObject ("ADO DB.Recordset")
RecordSet.CursorType = 1
OrderNumber=DataTable("OrderNumber", dtGIobalSheet)
SQLQuery="Delete Orders. Order Number FROM Orders WHERE
Orders.Order Number ="&OrderNumer
MyConn.Open
RecordSet.Open SQLQuery, MyConn
MyConn.Close
Set MyConn = Nothing
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Relative Path
What is Relative Path?
Relative path is a way of instructing QTP to search for the resources like
Actions, Repositories, Function Libraries and Data Tables by just
specifying the name of the resource.
This is a very useful and powerful feature of QTP and can save
tremendous amount of operational time when the project has to be
migrated to a different place from the existing one.
This is useful in situation like:
For example we had developed all scripts in a shared drive on the network
and the organization happen to go in for “Quality Center” and we are
required to migrate all the scripts into “Quality Center”.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Relative Path
Comparison with Normal Path or Absolute Path
In the normal path or absolute path we go to the resources tab in the Test
Settings and browse the resources for that script or action.
If we have to change the location of the scripts we have to open each
script and change the pointers to the resources in the resource tab.
This could be extremely time consuming especially when we happen to
have large number of scripts. The most complicated situation is of a flow
where we have calls to the reusable actions following the absolute path,
we will be required to build an entirely new flow to replace the existing one.
Whereas by following the relative path, changing the resources is a one
step process that could be completed in a few minutes time.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to Implement Relative Path Mechanism
Go to the “Options” from “Tools” menu and select “Folders” tab.
Click on the green "+" sign in the search list section.
Browse the folders one by one where we had stored the actions, function
libraries, data tables, object repositories, environment variables etc.
Now whenever we are making calls to the resources, we just need to
provide the resource name excluding the path.
QTP will search the search list folders for the specified resource and find
out the desired resource.
When we are to migrate from one location to the other, we just need to go
to the “Folders” tab in “Options” and delete the old folders and enter the
new folders where our resources are residing now.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to Implement Relative Path Mechanism
Make sure that while using the relative path to call the resources, we are
not duplicating the action names or repository names etc.
Repercussions of having same name for two resources:
Same names for the two resources will be confusing QTP. For example:
we have two projects with a shared object repository for each of them and
we have kept the name of the repository as "SharedObjectRepository"
for both of them.
When QTP searches the search folders specified in the “Options”
“Folders” it captures the first instance of the "SharedObjectRepository"
in its path irrespective of the project.
Thus we might end up calling the wrong shared object repository.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to Implement Relative Path Mechanism
Folders Node to set the relative path.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to Implement Relative Path Mechanism
In QTP 10.0, check the checkbox: "Remind me to use relative paths
when specifying a path to resource" in the Folders node of the options
window.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
How to Implement Relative Path Mechanism
This will display a pop-up message when someone uses absolute path for
calling the resources and by clicking "Yes" it is automatically changed to
relative path and the folder is automatically added to the search folders list.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions
When we have an object in our application whose properties keep
changing dynamically based on the state of the application, we need to
manage these objects with the help of regular expressions.
Regular expressions enable QTP to identify objects and text strings with
varying values. You can use regular expressions when:
1) Defining the property values of an object in dialog boxes or in
programmatic descriptions
2) Parameterizing a step
3) Creating checkpoints with varying values
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions
For example, we can use a regular expression to create a text checkpoint
on a date text string, but the displayed date changes according to the
current date.
If we define the date as a regular expression, the checkpoint checks that
the captured text string matches the expected date format, rather than
checking the exact date value.
What is a regular expression
A regular expression is a string that specifies a complex search phrase.
By using special characters, such as a period (.), asterisk (*), caret (^),
and brackets ([ ]), we can define the conditions of a search.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions for Property Values
If we expect the value of a property to change in a predictable way during
each run session, we can use regular expressions when defining or
Parameterizing property values, for example, in the Object Repository
window, or in programmatic descriptions.
For example, our site may include a form in which the user inputs data and
clicks the “Send” button to submit the form.
When a required field is not completed, the form is displayed again for the
user to complete.
When resubmitting the form, the user clicks the “Resend” button. We can
define the value of the button’s name property as a regular expression, so
that QTP ignores variations in the button name when clicking the button.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions for Check Points
When creating a standard checkpoint to verify the property values of an
object, we can set the expected value of an object’s property as a regular
expression so that an object with a varying value can be verified.
For example, suppose we want to check that every window and dialog
box in our application contains the name of your application followed by a
hyphen (-) and a descriptive title.
We can add a checkpoint to each dialog box object in your test to check
that the first part of the title contains the name of your application followed
by a hyphen.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions for Check Points
When creating a text checkpoint to check that a varying text string is
displayed on our Web site or application, we can define the text string as a
regular expression.
For example, when booking a flight in the Mercury Tours sample Web site,
the total cost charged to a credit card number should not be less than $300.
We define the amount as a regular expression, so that QTP will ignore
variations in the text string as long as the value is not less than $300.
For example, for table checkpoints we can set cell values as regular
expressions, and for XML checkpoints we can set attribute or element
values as regular expressions.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions - Example
In the following screenshot, the Fax order window has a title as "Fax
Order No. 2" and for the next order it would have a title of "Fax Order
No. 3" and so on and so forth.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions - Example
In the previous example, the window title had been programmed to get the
order number dynamically from the database and append to the words
"Flight Order No.".
Here we need to use a regular expression on the title property of this
window in the object repository.
Open the object repository and locate this window.
Then select the property (in this case it is "regexpwndtitle").
A little <#> sign appears in that field.
Click on that and "Value Configurations Options" window opens
showing the current value in the constant field.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions - Example
Select the checkbox "Regular Expression".
In the constant edit box enter the value "Fax Order.*" which indicates that
whichever object has a title of "Fax Order" as the starting words will be
recognized now irrespective of the numbers following.
Here . (dot) represents one character and * (star) represents any number
of characters or numbers.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Regular Expressions - Example
Once we click the checkbox "Regular Expression" we may get a popup
asking us whether to add "\" to the value.
Answer that with "No".
In QTP "\" has special meaning which can be like "\t" for tab, “\n" for
newline character etc.
If we have to have a "\" in the value we want to pass as a regular
expression, we need to add one more "\" in front of it so that QTP is
instructed not to consider the "\" as a special character but to treat it as
just a literal.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Tips to work with Quality Center
1) Always fill up details tab of the action in Quality Center when you use
the action in a flow.
This will help in maintaining the flows.
2) When an action is in the development phase keep the status as in
design.
As soon as the action is ready, change the status to Ready. If for some
reason the action needs to be fixed change the status to "Repair".
This will ensure to know which actions are under development and which
ones are completed.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Tips to work with Quality Center
3) Any variables to be created in Quality Center for better managing the
test execution should be well planned before building the flow.
These variables can be captured into the Initiation script and can be used
for executing the flow.
4) After flow has been created, include the details and dependencies of
the flow in the details tab in Quality Center.
5) To secure the usage of the tool, users should be created in Quality
Center with QA Tester privileges for all the automation engineers.
All the users should be added to the projects on which they are working.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Tips to work with Quality Center
6) The site administration and project administration users and passwords
should be setup.
There should be a main Site Administrator and a backup Site
Administrator.
Easy reach of Site administrator is very important, as some times the user
login does not get disconnected normally and the test gets locked, and we
need to kill the process from site admin.
7) Automation engineers should have the “Project Administration”
privileges instead of “Site Administrator” privileges to create any User
Defined variables in QualityCenter.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Tips to work with Quality Center
8) In order to better manage the test execution from Quality Center, create
some User Defined fields in the Test Set and grab those variables into
QTP. For example: Start Row, End Row, TestEnvironment etc.
9) "Test Plan" part of the Quality Center should be extensively used by
creating the required folders and saving the corresponding elements in
them.
For example: The actions folder should have all the reusable actions for
that project/application and Flows folder should have the Flows saved in
them. This ensures easy accessibility.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Tips to work with Quality Center
The following snapshot shows an example of organizing the folders in
Quality Center
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Tips to work with Quality Center
10) In order to keep track of the results from each release, name the test
sets with the release date in it.
Provide the dependencies if any in the Details portion of the Test Set
properties.
11) The tests shoud always be run through Quality Center. This will enable
us to compare the result history for every release.
12) Since QTP results consume large amount of disk space on the Quality
Center server, it is better to flush out the results from the test set from time
to time, while preserving the results of releases during last one year or so.
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Thank You
End of Part -2
Quick Revision of HP QTP 10.0
>>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<<
Download