We are currently running Blue Prism 7.1.1 for multiple automations which interface with a Win32 based application (thick client). We have multiple, functional objects to interact with various screens in multiple ways, but have an issue with one particular element in one particular object. Here's the scenario.
- We use basic actions to log in, detach.
- Use a "menu navigation" object to get to a particular screen, detach.
- Use a "maintenance" object to further navigate, detach.
- Use a "transaction" object to write to an account number field, then perform a few other steps and click a button, detach
- Close the active screen using the basic actions object, detach
- Repeat from step 2
Step 4 fails sometimes when waiting for the account number field. We've tried a bunch of different things to fix, and every time we think it works we'll run 50 transactions through and all will be fine. The next day we come in and run another test and the element fails to be found. Sometimes, we'll be running a test and 4 transactions will work, then it will stop functioning.
- We have tried multiple Win32 spy attributes - all functional combinations experience the same issue
- We have tried multiple AA spy attributes - all functional combinations experience the same issue
- We have tried using UIA mode, however the target application doesn't release memory correctly so after about 5 transactions Blue Prism throws a "system out of memory" exception. Logging out and back in isn't a viable solution because it doesn't properly clear there, either, and it adds too much processing time.
- We have tried detaching and re-attaching immediately before waiting for that element - same issue
- We have confirmed that there are no date specific attributes in the element that would cause this issue
- We use match index wherever it applies to confirm that we're only finding one element (even if it found the wrong one, that would be better than nothing at all)
- We have increased the wait to 60 seconds, and the element appears on-screen usually within 2
- We have run the automation to the point of failure and then attempted to manually highlight the element. That highlight works so it would seem that our element attributes are correct and functional.
- We're considering surface automation, however we have to read back the entered value and are concerned with the stability of such an approach. We're really trying to avoid that at all costs.
- We have other objects which interface with different "account number" fields that are perfectly fine and consistent - it's just this one that's giving us grief.
- We're just about to test waiting for all the "valid" elements and seeing if maybe when one stops working the other one will start working and vice versa, but we're not really optimistic there.
I would appreciate any direction, suggestions, alternatives, good vibes... anything anyone can provide to help. We've had multiple developers looking at this for over 3 weeks and we can't seem to figure out a stable fix.
Thanks!