How to get window information, if it disappears very quick ?
Hello,
I try to automate installation proces and it looks a bit difficult. Let's say the main window of the installer is 500 pixels width and 300 pixel height. I have to press "Next" button few times. When I press "Next" button for the last time, installation process starts. Sometimes it lasts for a 2 seconds, sometimes it last for a 50 seconds, but on the slow PC's it may last even for 2 minutes. When the installation process gets to finish, there is an information appearing, that installation is completed and there is "Ok" button. I tried the solution with WaitWindow but in this case it does not work, becouse the installer is written in some strange way. When I try something like:
Sys.Process("Application").Window1.Window2.WatiWindow3(some parameters)
for some reason TestComplete can't do this operation becouse of overlaping window.
And now - there is something important to understand. When installation process starts, the main installer window remains almost the same, but another window shows up - let's say 500 pixels widht and 100 pixels height, it shows up in the center of my main installer window.
To solve this problem I can ignore overlaping windows in a project settings, but I don't want to do this. Another soultion is to put Delay command with some interval, just to wait until overlapping window would disappear, but this is not nice solution. What I would like to do is I would like to get as many information about the overlaping window while the application is running. The problem is, that I see it for only 2 seconds on my PC. This time is to short to identify the objects using spy tool. So that possible solutions that I see, but I don't know hot to do this:
- ignore overlaping windows from my python script just for installation time, but stop ignoring that as soon as installation process gets to finish. I don't know if I can change the settings of the project from script
- the solution that I really really would like to know - how to save all the processes with all possible information for testcomplete while application is running. I could analyze the process window withh all the processess that were created with all windows inside when the application stops.
- get a very slow PC, install TestComplete on it and then try to use spy tool on the window that shows up. But....come on....there must eb a better way.
Any comments ?
Well, it did not work as I expected. It produced the code like this:
wndWixExtBA = Aliases.Micromedical_Installer.wndWixExtBA
wndWixExtBA.Click(251, 54)
wndWixExtBA.Click(253, 98)
wndWixExtBA.Click(255, 128)But i found maybe not a perfect solution, but I found idea that help me solve my problem. While some automation script has been running, I invoke Test1() function every second line:
def Test1():
result=Sys.Process("Micromedical*", 2).Window("WixExtBA", "Micromedical*", 1).FindAll("FullName","*",1000)
for element in result:
if (element.VisibleOnScreen == True):
Log.Message(element.FullName)My log contains now some information, that lets me make a deeper analyze and lets find what I have been looking for.