包含未在getWindowHandles中找到的已打开文档的新窗口

时间:2016-01-25 13:43:46

标签: java eclipse selenium

我正在测试生成和xml文件的应用程序。我需要验证此XML文件内容的某些部分。我所做的是打开XML文件的档案,单击链接以生成实际的XML文件,当弹出窗口(打开,保存,取消)时,我选择打开该文件。然后该文件在新窗口中打开,但我似乎找不到这个新窗口。当我试图确定nr。窗户用:

System.out.println("Windows: "+driver.getWindowHandles().size());

控制台中的答案是:Windows:1

我可以在屏幕上看到带有打开的XML文件的窗口(文档被下载到Temporary Internet Files并在新窗口中打开)但无法与我的脚本进行交互甚至找到它。

简而言之,我所做的是:

driver.findElement(By.xpath("xpath")).click(); //click on a link to the xml file
Thread.sleep(3000); //wait for the Open,Save, Cancel popup 
Runtime.getRuntime().exec("D:\\Test\\gros\\OpenDownloadDoc.exe"); //this executable (created with AutoIT) is only to send the keystrokes 'Alt-N' to focus on the Open,Save, Cancel popup and choose Open
Thread.sleep(3000); //wait for the new browser window containing the xml file is opened
System.out.println("Windows: "+driver.getWindowHandles().size());

我现在有两个窗口,一个是应用程序,我单击链接打开XML文件,另一个窗口显示实际的XML文件。

当我发送以下行时:

 System.out.println(driver.getTitle());

它返回应用程序的pagetitle(这是有意义的,因为我还没有告诉它切换到另一个窗口)。我似乎无法找到包含该文件的其他窗口,更不用说切换到它了。

0 个答案:

没有答案