Forum Discussion

DSmachineWorld's avatar
DSmachineWorld
Contributor
2 months ago
Solved

Best practices for dealing with a highly volatile desktop app

Up to now, my testing with one part of this product suite has been fairly smooth with some judicious wild cards in Name Mapping. But now I am working in the other part (an Admin module), and it's making me crazy.

Scenario:

  • -All objects in the app are very badly labelled in the native code. Imagine a structure where the first object is mapped in the Object Browser as "Foo:Form > Foo:FooContainer > FooFrame" , and the next as "FooForm1>FooWMDClient>FooForm>FooFrame", and the third as...well, you get the idea.
  • I've been trying to wild card full names in the Name Mapping Editor, but that hasn't helped with the problem in the next bullet point.
  • I can start up recording a keyword test, successfully complete it, but then immediately after I can right-click on an element in the test and select "Highlight", and TestComplete will tell me that object doesn't exist.

Any suggestions from people who have faced similar scenarios would be appreciated.

  • OK, it looks like I figured it out. The main window caption was changing per main list box entry I clicked on. I've used wildcarding and OCR actions to work through the problem.

3 Replies

  • Marsha_R's avatar
    Marsha_R
    Champion Level 3

    Here's a previous thread that has some possible solutions.

    https://community.smartbear.com/discussions/testcomplete-questions/changing-ui-elements/75229

  • rraghvani's avatar
    rraghvani
    Champion Level 3

    The title of the post, suggests that the app is not suitable for testing, let alone to be automated!

    Have a look through Handle Dynamic Identifiers

    It's worth speaking to your developers, to see if they can help you with identifying objects. Also, have a look at MSAA settings. 

  • OK, it looks like I figured it out. The main window caption was changing per main list box entry I clicked on. I've used wildcarding and OCR actions to work through the problem.