Search code examples
automated-testsqtphp-ufthp-quality-center

How can I set <UFTApp>.<TestOrComponent>.Settings.Run.OnError non-programmatically for interactive (i.e. IDE-based debug) runs of a BPT component?


In UFT 14.50 (but I don't think this is version-specific), I face the following problem:

For action-based GUI tests, I can configure for each test using File/Settings/Run what should happen in case of error:

Screenshot for action-based GUI test

For BPT GUI-based components, I cannot; there is no "Run" section:

Screenshot of section list for BPT GUI componet

Also in the application area for the component, which would be the second place where it would make sense to put this setting, there is no such setting.

I do understand that I can set this setting programmatically using <App>.<TestOrComponent>.Settings.Run.OnError.

I also understand that one can configure this setting in the execution setting for each component call in a BPT test flow script, or BPT test script, but what about interactive component execution for debugging reasons -- I have to change this setting in every component programmatically during runtime if I want to define/change this setting when doing debug runs in the UFT IDE, is this correct?

Bonus question: What is the rationale to hide this setting for a given component?


Solution

  • It's a good question. It's one i had to think about as there are quite a few components involved.

    You build your code for BPT application areas in UFT but the BPT test itself is designed to be managed and executed from ALM. Around version 11 or 12 HP (the vendor at the time) updated the remote agent to have "debug mode" (the top option in these settings):

    UFT remote options

    If you've not seen this you window, you get it from right clicking on the remote agent on your system tray:

    remte agent sys tray settings option

    (you can also set it by updating the mic.ini file - shout if you need more info on this)

    I've not used BPT for about a decade, but that option in the remote agent I am very aware of. POTENTIALLY The run option you're after doesn't exist because, for BPT and it's aLM dependency, it's now all controlled through that debug run setting.

    • With it CHECKED, when you run a test from ALM you get the popup on error

    • With it UNCHECKED, when you run a test from ALM, if it hits an issue the error popup is suppressed.

    You don't need to set your options programatically.

    Bonus points answer: Logically this makes sense as you're potentially kicking off an entire test set from ALM and if you had 1 bad object/line in the first test and it blocked an entire overnight run you'd be fairly angry. At least this way you have your local machine as a deubg run but all remote execution machines have it unchecked so they just keep going. It becomes a machine configuration and not a script configuration.

    If this doesn't work as you expect there are other ways of using a common function library with environment variables to set all to debug or all to carry-on mode.