Forum Discussion

JennyH11's avatar
JennyH11
Frequent Contributor
7 years ago

Indicator causing test to stop since 12.4 update but won't hide

Hi

 

Since the 12.4 upgrade of TestComplete we have noticed that the Indicator is preventing on-screen actions (usually closing a window in a desktop application). It complains of there being an "overlapping window".

 

We have tried two ideas to work around..

 

1) Code Snippet: Indicator.Hide() 

 

and 

 

2) A Call Object Method on the Indicator with the method\property Hide

 

Unfortunately, neither appear to affect the Indicator or hide it at all. We still get the error for overlapping window (we need to be able to close the window to continue so ignoring overlapping window is not an option).

 

We have tried a Call Object Method on the close button in our application under test and strangely, it does manage to find the button and click it.

 

This is fine for a workaround but it raises several questions:

 

- Why is the Indicator more prominent in this version than the last?

- Why doesn't the Indicator.Hide method work? Are we doing something wrong or is there a known issue\bug with this?

 

Another issue we have seen in 12.4 is that when a test tries to click in the area behind the Indicator it actually clicks on the Indicator, as opposed to the operation in the test.... Which means the test pauses or stops. This is not ideal.

 

I fear this may mean having to make test amendments as a result of this issue and would like to know what is causing it and whether there are any recognised bugs? Perhaps we shouldn't make any changes and should wait for a patch to be released?

 

Has anyone else experienced any of these issues at all in the latest version? Any tips \ advice?

 

Thanks,

Jenny

19 Replies

  • rickm's avatar
    rickm
    Contributor

    I received and applied the patch for v12.40, and it fixes my issue of the Indicator being captured during playback capture of Region Checkpoints. All is well again!

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    I have the following in a test case that I have and it's working fine.  This is a "Call Object Method" operation on a keyword test where the object is the indicator object.  

     

    As I watch my tests, I see the indicator getting hidden at this point so I do know that this works.

     

    So... since it's working for me on a Windows 2012 Server box, a Windows 10 machine, and a Windows 7 machine, the question then is what is unique about your situation that is causing this not to work?  Can you provide information like what kind of application you're testing, operating system, script language on your project, etc?

     

    A screenshot, perhaps, of where you are implementing this method call would be useful, too.

    • JennyH11's avatar
      JennyH11
      Frequent Contributor

      Hi Robert,

       

      Thanks for your reply. It's interesting to know that it works for you. I wonder what the difference is..

       

      We are testing a desktop application written in Delphi. We use a physical Windows 10 Pro PC for our test environments. The project scripting language is DelphiScript.

       

       

      Based on what I'd read I used the Call Object Method and the Code Snippet (one disabled, one enabled, not both running at the same time!) at the very beginning of the Keyword Test. My colleague used it just before he needs the window to close in the test.

       

      See attached for screenshot of where and how it is implemented in the test.

       

      It might be worth adding that we used to see an issue where the Indicator would disappear for some time, especially after a few hours of usage (in the afternoon for example). This makes us wonder if something has been changed in the Indicator in this Release that makes it more prominent? Just a thought..

       

      Thanks,

      Jenny

      • tristaanogre's avatar
        tristaanogre
        Esteemed Contributor

        The question is: Where is that code in relation to when you need it to execute?  The way we use it is that, when we know, in our automation, that we need to interact with something in the upper right of the screen, we call Indicator.Hide.  Then, when we are done, we call Indicator.Show.  My suspicion is that you may think that code is being called... but perhaps it is not being called when you think it should be.  You can try dropping a breakpoint on the Indicator.Hide call and see if that is actually getting hit in your execution.

         

        Now, you mentioned something... you need to hide the indicator so you can close a window.  Any reason why you can't just called object.Close()?  That seems to be the better solution... true, it doesn't answer the question about Indicator.Hide....  I'm going to fire up a quick DelphiScript project and see if that makes a difference but, as mentioned, I'm not expecting there to be a problem but I'll take a look. 

  • JennyH11's avatar
    JennyH11
    Frequent Contributor

    Hi

     

    The issue of being able to hide & show the indicator seems to be fine now for me, however, I just wanted to confirm something.

     

    Before version 12.40 (I think) we never needed to hide the indicator. Now, we need to. This requires test amendments and many of them. Is this what we are expected to do to resolve this? What are the chances there will be further issues with the Indicator overriding the display in future?

     

    I appreciate we cannot see into the future and are not mind readers but the thought of having to make multiple amendments to handle new indicator behaviour and then repeating that later down the line, is just painful! ;)

     

    It would be nice to know the reasons behind this occurring also, it might help to alleviate some of the frustration I am feeling when using the product.

     

    Thanks,

    Jenny

    • AlexKaras's avatar
      AlexKaras
      Champion Level 3

      Hi Jenny,

       

      > Now, we need to.

      Have you applied a patch mentioned by rickm? Didn't it resolve the problem? If it didn't, then this is a good reason to report this to SmartBear via the https://support.smartbear.com/message/?prod=TestComplete form.

       

      > the reasons behind this occurring

      My personal opinion is that this is not something planned to be introduced, but something that slipped through testing. Version 12.4 introduces at least such significant update as 32- and 64-bit flavors of TestComplete and it is my guess that this required significant changes in the code base.

      BTW, do you have problems with the Indicator with both flavors of TestComplete or with some specific one?

      I can confirm that regular SmartBear practice is to keep compatibility and do not introduce changes that may break already existing test code. So, one more time: I consider this to be a non-planned change that will be corrected in the next TC update.

      • JennyH11's avatar
        JennyH11
        Frequent Contributor

        Hi Alex

         

        Thanks for your reply.

         

        Yes, I've applied the patch following the install of 12.41 (to resolve the MS Update issue with the JET Engine). It has resolved it, in so far as I can now use Indicator.Hide and Indicator.Show to perform operations in the test where the Indicator was overlapping the target object. I'm happy that I can now Hide and Show the Indicator when I need to, I'm just unhappy that I have to Hide and Show it, where I didn't before. I guess, once I've implemented it in any failing script I won't need to do it again in future... Which is good :)

         

        I've only used x64 version of TestComplete so far and not x32. I'm using a Win 10 64bit so assume I should use the equivalent of TestComplete - I have no knowledge of this though in terms of recommended usage. If you know more please let me know.

         

        It's good to know your opinion as to why this has occurred. Thank you for this.

         

        At present I'm experiencing more major problems with speed and as of this morning the Jet Engine again.. So I'm happy with what I have on this now, in terms of implementing the Hide & Show. I was just interested in more information as to why it occurred and looking to vent a bit.. :)

         

        Thanks Alex!

    • tristaanogre's avatar
      tristaanogre
      Esteemed Contributor

      I've always had to hide the indicator for a number of years now.  So, this isn't something necessarily new.  The inability to do so... that was the bug.