Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3336856
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T00:11:08+00:00 2026-05-18T00:11:08+00:00

Suppose I use QTPs recovery scenario manager to set the playback synchronization timeout to

  • 0

Suppose I use QTPs recovery scenario manager to set the playback synchronization timeout to 0. The handler would return with “continue with next statement”.

I’d do that to make sure that any following playback statements don’t waste their time waiting for the next non-existing/non-matching step before failing:

I have a lot of GUI tests that kind of get stuck because let’s say if 10 controls are missing, their (consecutive) playback steps produce 10 timeout waits before failing. If the playback timeout is 30 seconds, I loose 10×30 seconds=5 minutes execution time while it really would be sufficient to wait for 30 seconds ONCE (because the app does not change anymore — we waited a full timeout period already).

Now if I have 100 test cases (=action iterations), this possibly happens 100 times, wasting 500 minutes of my test exec time window.

That’s why I come up with the idea of a recovery scenario function setting the timeout to 0 after/upon the first failed playback step. This would accelerate the speed while skipping the rightly-FAILED step, yet would not compromise the precision/reliability of identifying the next matching GUI context (which creates a PASSED step).

Then of course upon the next passed playback step, I would want to restore the original timeout value. How could I do that? This is my question.

One cannot define a recovery scenario function that is called for PASSED steps.

I am currently thinking about setting a method function for Reporter.ReportEvent, and “sniffing” for PASSED log entries there. I’d install that method function in the scenario recovery function which sets timeout to 0. Then, when the “sniffer” function senses a ReportEvent call with PASSED status during one of the following playback steps, I’d reset everything (i.e. restore the original timeout, and uninstall the method function). (I am 99% sure, however, that .Click and .Set methods do not call ReportEvent to write their result status…so this option might probably not work.)

Better ideas? This really bugs me.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T00:11:08+00:00Added an answer on May 18, 2026 at 12:11 am

    It sounds to me like you tests aren’t designed correctly, if you fail to find an object why do you continue?

    One possible (non recovery scenario) solution would be to use RegisterUserFunc to override the methods you are using in order to do an obj.Exist(0) before running the required method.

    Function MyClick(obj)
        If obj.Exist(1) Then
            obj.Click        
        Else
            Reporter.ReportEvent micFail, "Click failed, no object", "Object does not exist"
        End If
    End Function
    
    RegisterUserFunc "Link", "Click", "MyClick"
    RegisterUserFunc "WebButton", "Click", "MyClick"
    ''# etc
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Suppose you use the following structure: var Args = new Object(); Args.Age = '10';
Suppose you have two seperate ASP.NET Web Application projects that both need to use
suppose we use the addl instruction to perform the equivalent of the C expression
Suppose I use a custom :format to implement a gadget-oriented version of my site.
I have started with the project where I am suppose to use client side
I have a question about Spring transaction propagation . Suppose I use @Transactional(propagation =
Suppose you use JPA with Spring, with Hibernate as JPA implementation. JPA transaction mode
I have cell formula like C1+C2.suppose i use getcellformula()method it returns the String C1+C2.
Suppose I have multiple roles, each one defining a set of items: package A;
I want to use a text as a button in Android. Suppose I have

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.