我正在测试生成和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(这是有意义的,因为我还没有告诉它切换到另一个窗口)。我似乎无法找到包含该文件的其他窗口,更不用说切换到它了。