cancel
Showing results for 
Search instead for 
Did you mean: 

Hidden IE?

TomaszSadlon
Level 3
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...
2 REPLIES 2

Denis__Dennehy
Level 15
This needs a bit of experimenting with: A. The TabProcGrowth dword registry key setting (mentioned in the Browser Automation Guide).  Although.. from my experience of embedded Java apps I doubt it will help - your app probably won't work with it set. B. The logic of how you attach to your application.  It sounds like the correct child index setting to use might be variable - so I recommend creating some logic that: 1. Attaches 2. Checks for Java Element 3. If Not found increment child index and go to 1 4. If found continue...

TomaszSadlon
Level 3
Thanks for the reply! :) a) I already tried using TabProcGrowth, it makes BP crash right after launching the page. b) I already tried doing a loop, which attaches to different child indexes until successfull.. It just looped until I got a message ""More than one window matched results"". Since there's a suspicion, that there are some hidden java windows within one child index named the same as the window I'm interested in which the process attaches to, here's what I tried recently: 1. Attach 2. Check for the proper window 3) if failed, Close the window we're attached to using Nav stage 4) Detach 5) Attach again   I gotta say, this worked for about 40 tries until it failed again (really got my hopes up, the failure was devastating for me...). The application did just fine without the window that was closed, but now it seems to be attaching to a different hidden window... And here's the kicker: Now BP seems to have started completely ignoring the ""Window name"" parameter in the navigation stage. I'm attaching using window name ""TFBO*"", process ""iexplore"" and child index 0. It attaches to something, but I'm unable to find the window with ""TFBO"" included in the name in the Application Navigator when the process attaches incorrectly. I noticed, that right now I can write ""hjsfvhjdasvgfhjasgkfvdkasb"" in the Window name and it still attaches, so I would guess that it ignores this parameret alltogether. To close a specific window, I need to be able to spy it as an element. I was able to do this previously, since the hidden window was named the same as the correct window and I knew which window to select. Now I'm unable to do this, since no hidden window has got the correct name specified as the attach parameter.  So, is there a way to find out which window am I currently attached to, so I can try and get rid of it? Or is there a way to make BP actually use the ""Window name"" parameter?