cancel
Showing results for 
Search instead for 
Did you mean: 

Turn off completely object recognition hints

Turn off completely object recognition hints

I would love a way to go back to the old versions of TestComplete where that object recognition hint stuff wasn't present.

 

I have never seen this be helpful; it's only caused problems for us when running tests. The objects are either gone because a window closed and TestComplete doesn't recognize that or TestComplete tries to find a control and takes 3-15 minutes to finish the hint and click the button.

 

I want a way to shut this feature off completely.

22 Comments
Occasional Contributor

I totally agree with @bo_roop. We are using "WaitProperty" action with "Exists" property to make sure that that popup/window/control disappeared. But sometimes, we must be received "object recognition hints" warning. We considered changing to use the "wait alias child" with "Exists" property but the performance of action "WaitAliasChild" is slower than "WaitProperty"

Community Hero

You can turn off the object recognition hint for mapped objects already.  It needs to be done on an object by object basis, but this already exists.

 

However, while I understand that "it used to work", one of the things that recent versions of TestComplete has done has been to actually improve object recognition... which means that, if the object doesn't exist but something SIMILAR does, it lets you know and tries to proceed.  What that hint indicates is that, as you already noted, something changed in the application that you need to account for in your automation by including appropriate "wait" or detection logic.

Contributor

"You can turn off the object recognition hint for mapped objects already."

 

WHERE?

Community Hero

OK, did a quick search through and I remembered incorrectly.  You can turn off the "Ambiguous recognition" warning, but not the object hint.

 

However, that said...read through https://support.smartbear.com/testcomplete/docs/testing-with/running/handling-errors/object-not-foun... to understand, better, why these hints are coming up and, potentially, modify your automation code/NameMapping to account for the problems.  While I understand this wasn't present in the past, it doesn't necessarily mean that your code has been written with best practices concerning object recognition.  


Contributor

No!

 

Do I have your (and SmartBear's) attention yet? This feature is broken. Plain and simple.

 

This was mentioned in post #1:

 

"The objects are either gone because a window closed and TestComplete doesn't recognize that..."

 

The objects in that dialog are gone. The popup window has been closed and the next step of the test should be executing without issue, but it's not. The object recognition hint thing jumps up and tries to find the button that TestComplete just clicked! The text on the TestComplete indicator tells me it's trying to find the button that it just clicked, on the window it just closed.

 

I can list example after example of this, here's two:

  • Click a Cancel button on a popup window (that invokes the wm_close method). TestComplete gets lost trying to find the window that was just closed.
  • Click an OK button on an alert prompt and TestComplete will go hunt for the popup prompt that was closed after the OK button was clicked.

 

And I know this is broken because the object recognition hinting stuff isn't added to the logs and the timings listed are not accurate/real. The logs list the times to perform the actions, but do not include the 3-15 minutes that TestComplete goes off in the weeds. It shows that the OK button was clicked and then it immediately claims that the next testing step occured within the same second... but in reality I had to sit and wait for the hint in the indicator progress bar to go away AND THEN the next testing step is performed without error.

 

TestComplete was better before this feature was introduced. Please give us a way to disable it.

Community Hero

Sounds like, instead of a feature request, you found a bug.  Have you reported it as such via https://support.smartbear.com/message/?prod=TestComplete ?  I agree, if something is not working properly, it needs fixed... but that's not a new feature, that's a bug that needs corrected.  The link to support is the best method to get a resolution to that sort of issue.

Contributor

Agreed. And I did... and they listed it as working as designed because they couldn't recreate it. Smiley Sad 

Community Hero

Sounds like more time is needed to spend with them... In the past, I've connected with their staff and set up a shared screen session via GoToMeeting and demonstrated problems I've had.  It might be worth seeing if they will set that up with you as well.  They are, usually, VERY accommodating.

Contributor

That's not my experience. Mine is more like pulling teeth. I sent them everything they should need to recreate the problem and the first thing they ask for is logging information that we can't kick off without running the external program. Heaven forbid any of these issues happen on a virtual machine running in AWS that's kicked off via Jenkins... because they won't be able to help you.

 

I've done screen sharing with them and if the intermittent problem happens, great! They'll acknowledge it. They won't necessarily fix it though.

 

I spent weeks trying to get them to look seriously into this problem and have come to the conclusion that the issue won't be addressed as a bug... so I'd like it addressed as a new feature... to disable the other new feature. And I'm not alone.

 

I think I'm done now. I've said my peace and I need to get back to work automating.

Community Hero

I have experienced this exact scenario with a single button in a JavaFX application. The object is found without and problems, it is clicked, and the window containing the button closes. Test Complete THEN continues to wait for the button. I chalked it up to being a custom control and not a standard JavaFX implementation.

 

There is definitely a bug here I would agree. I would still try to reach out to support again as I can vouche this happens. I might even open a support ticket myself.

 

That said, something that you can do to work around it is changing your timeout value before you click on it and then setting it back during your test execution.

 

let tempTime = Options.Run.Timeout;
Options.Run.Timeout = 1500;
// perform click on your button
Options.Run.Timeout = tempTime;

This is definitely a work around and not a solution, but might at least help alleviate your issue until a solution can be provided.

Join the September Hub-bub to show off, learn and win