[QF-Test] Name Resolvers – How are components found?

When a component no longer exists, sometimes the wrong component is found by qftest, rather than no component at all

In Detail…

When I select a node on the qftest component tree, a component in my Application (SUT) is highlighted. Great.

However, I have found a situation where the wrong component is highlighted.

In our Application we have a GridPane, with 3 child BorderPanes.

Since these are built dynamically, we don’t set ids programmatically, but use a qftest name resolver.

For each component having the ancestor of GridPane, an index is added to the id of the component, and our component tree looks like this:

-GridPane

odocument-container[0]

odocument-container[1]

odocument-container[2]

We do the ids in this way, also because our BorderPanes can swap positions in the GridPane, and the name resolver works perfectly in this case, the index added
always the actual position in the GridPane

What does not work is when the first GridPane is swapped with a StackPane

The original panel of name “document-container[0]” simply no longer exists, and when this is selected in the component tree, infact, qftest highlights component
“document-container[2]”

I would have thought that if a name resolver was used that if the actual name did not match exactly, then the component would not be found?

I tried setting the options for “Name bonus” 100%, and also “Name above everything” true, and still the wrong component is highlighted