I am sure whether it is possible to get TestObjects from an IWindow or to convert an IWindow to a TestObject. Maybe there is another way to find windows—via DomainTestObjects. I know it is not exactly an answer to the question, but could be something:
public void displayDomainsAndTopObjects()
{
DomainTestObject[] dtos = getDomains();
for (DomainTestObject dto : dtos)
{
System.out.println("--- " + dto.getName() + " ---");
TestObject[] tos = dto.getTopObjects();
for (TestObject to : tos)
{
System.out.println(to.getDescriptiveName());
}
}
}
Maybe you can find a workaround that way? E.g. displaying all open browsers:
public void displayBrowsers()
{
DomainTestObject[] dtos = getDomains();
List<DomainTestObject> htmlDomains = new ArrayList<DomainTestObject>();
for (DomainTestObject dto : dtos)
{
if (dto.getName().equals("Html"))
{
htmlDomains.add(dto);
}
}
List<BrowserTestObject> browsers = new ArrayList<BrowserTestObject>();
for (DomainTestObject htmlDomain : htmlDomains)
{
TestObject[] tos = htmlDomain.getTopObjects();
for (TestObject to : tos)
{
if (to.getProperty(".class").equals("Html.HtmlBrowser"))
{
browsers.add((BrowserTestObject) to);
}
}
}
System.out.println("Found " + browsers.size() + " browsers:");
for (BrowserTestObject browser : browsers)
{
System.out.println(browser.getProperty(".documentName"));
}
}