There's something it's bothering me and it's making my tests run slower than I'd like to.
I'm having (performance) problems finding an object in the screen.
The application under test (as any other) shows MessageBoxes to confirm/ask for user interaction. To find such view I use the following code:
var base = Sys.Process("MyProcessName");
base.FindChild("ClrClassName", "MessageBoxView", 3);
There's nothing wrong with it and it works just fine. There's only one quirk. It takes almost 2seconds to be able to find the view.
BUT, during my investigation I found out that the second time Test Complete tries to find the view, it takes only about 50ms.
That second-time behaviour doesn't benefit my tests at all, because that view is always destroyed (dismissed upon user interaction) and it's always "the first time" when Test Complete needs to find another MessageBox.
Why is that happening? Why is it taking soooo long the first time?
Is there a way to fix this behaviour? It doesn't take that long to find any other view within the main window of the application.
Re: Test Complete takes too long to find an object
I already tried putting a delay before and it made no difference at all.
We could argue whether it makes sense that the second time is faster, but it doesn't make any sense that it takes so long to succesfully find a view that is already visible and in the first or second level of the root view.
The same behaviour is observed when using the fullpath of the object.