Posts: 6
Threads: 3
Joined: Aug 2009
Reputation:
0
08-24-2009, 11:21 AM
Hallo,
I am testing a web application explicitly making use of the tabbed browsing by generating new tabs for several child tasks. I use QTP 10.0 which supports tabbed browsing in general and after some "trial and error" cycles I am able to use this feature in principle.
BUT: In replay mode child tabs test run are not recognized if they are generated during a test step executed by QTP.
So this test (pseudo code)
If child tab (page) is not open
Open Child tab (by link on parent tab)
Do something with child tab
would fails if child tab is not open at the beginning of the test and will pass if you ensure the tab to be open before starting the test.
Maybe anybody has experienved the same problem?
Michael
Posts: 1,199
Threads: 5
Joined: Nov 2008
Reputation:
0
08-24-2009, 11:43 AM
watch out the creation time, may be it is causing the issue. try descriptive when you use your browser object.
Posts: 6
Threads: 3
Joined: Aug 2009
Reputation:
0
08-24-2009, 02:56 PM
Hi Saket,
thanks for the quick response.
Creation time:
I use index as ordinal identifier instead of the creation time (this is what you meant, isn't it) but tried creation time after your comment. Unfortunately there is no change.
Descriptive approach
Even if descriptive object identification would be the solution, it would not be helpfull as all child objects of the affected tab have to be invoked in a descriptive way also, right? I would like managing my testobjects in a shared TO repository sinse they change frequently.
Michael
Posts: 1,199
Threads: 5
Joined: Nov 2008
Reputation:
0
08-24-2009, 03:22 PM
what is the error you are receiving? can you paste your lines of code as well?
Posts: 6
Threads: 3
Joined: Aug 2009
Reputation:
0
08-24-2009, 05:40 PM
(This post was last modified: 08-24-2009, 05:52 PM by HazleVillage.)
The purpose of checking the existance of the child ("Import") page twice is this:
The first ...Page("Import").Exist statement checks if the page is visible initially (maybe opened by a previous testrun). If not, the page will be openend explicitly.
The second ...Page("Import").Exist statement is just error handling: If the testscript is unable to open (or recognize) the page, exit test instead of runnning in an ugley exception.
Of course I could place the second within the inner Else -branch of the first conditional structure. The reason why I didn't is that I places this statement subsequently - when I realized that there could be a problem in opening the page.
Maybe I should explain the workflow of the application under test -it's a locally running web application - more detailed.
- Initially there is a home page providing access to several functionalities of the application, e.g. the "Import" functionality
- By clicking on the desired link, a new tab will be opened showing the web page of the corresponding functionality (e.g. "Import")
- In this case the browser contains two tabs: One for the homepage, one for the child page
- When recording QTP identifies both elements on the home page and the child page
- When running the test starting with the homepage (no child page opened) the "Import" link is clicked and the child page opened. But then QTP is unable to recognize the child page
- If you start the test with the child page already opened (regardless if it is opened by a previous testrun or manually), the test passes
Michael
Posts: 5
Threads: 1
Joined: Mar 2011
Reputation:
0
03-22-2011, 12:44 PM
How to identify multiple pages in a single browser.....?
thanks inadvance
Suman.P