I have upgraded to QTP 8.0 from QTP 6.0. I find that scripts are running fairly slow on QTP 8.0 as compared to QTP 6.0. As an example, it takes anywhere between 30 to 45 secs for QTP 8.0 to check whether an object is existing on a page or not whereas this was done instantly in QTP 6.0. Is there any settings that need to be changed? Please advice.
Check your time out settings in the Test->Settings menu under the "Run" tab. I think it defaults to 20000 milliseconds (20 secs). You can override how long the Exist method waits by putting a time in brackets after it:
if button("exit").exist(1) then
this will give a maximum time of 1 second for the button "exit" to exist before moving on.
I think you may have Smart ID turned on. Turn it off and see what identification properties need to be modified/re-assigned. Also if you want to further hasten test execution, change the execution speed from 'Normal' to 'Fast'. I believe this is a setting in the 'Run' tab under 'Options'.
Can you tell me about this Smart ID option and from where can I turn it off? As for execution speed, I always run the scripts in 'Fast' mode. I have also found out that 8.0 is slower as compared to 6.0, but still if something can be done to make the scripts run faster.
I doubt that 8.0 runs slower than 6.0. 8.0 has smart ID which can slow things down rather than help at times. This is how you can go about disabling it. On the topmost 'Test' tab of your QTP, there should be an option for 'Settings'. In the Settings window go to the 'Run' tab and check the checkbox "Disable Smart Identification during the test run session"
This option is also available in 6.0 as well. I am running the scripts with this option disabled but still am finding 8.0 slower than 6.0. I think there are some issues raised with Mercury regarding this.