Hi,
I've been having a really hard time to resolve the following issue:
I need to automate a java web-based application. The launching procedure bases on launching a page in IE and clicking a link, which opens a new IE window containing the application itself. When it loads, we see a login screen and that's where the troubles occur randomly.
If the elements on the login screen are detected, everything will go smoothly till the end, but if they don't then there's nothing I can do, I can't even get it to work with manual attaching from the Object Studio. It attaches successfully, but no elements are highlighted. Java elements can be spied, but can't be highlighted (no elements found), while win32 elements give an "Error on spying operation" error on spying attempt. Among other things I tried attaching using different child indexes, I tried clearing java temp files before each run, I even wrote a macro which kills the unnecessary IE child processes before attaching, and still nothing. I tried creating the TabProcGrowth registry entry in order for IE to launch all the tabs as a single process, but that caused BP to crash right after opening the start page...
When I try to attach using only the window name and the process name, I get the €œMore than one application matched the criteria€ error. That made me check the Application Navigator when the process failed to proceed. When BP is actually able to interact with the application, the App Navigatator detects way more elements than in situation, when the bug occurs. When the robot fails, the Navigator shows mainly elements that are not visible, some of the detected windows have a parameter €œInternet Explorer Hidden€ (see attached screenshot) and the Win32 objects of the IE window we€™re interested in (I mean things like the notification bar at the bottom, the bounds of the window etc) are not detected. This supports the theory, that from time to time BP randomly attaches to a hidden window of IE which is named the same as the window I'm interested in. The process manager shows only one Parent IE process and one child process.
Does anyone have an idea how to handle such situation? I'm close to using a very ugly solution, where I just restart the whole application on error until I get lucky and it starts working, but it's not a satisfactionary performance...