如何在java.awt.Robot中将焦点设置到窗口

时间:2013-01-30 06:09:01

标签: java selenium webdriver screenshot awtrobot

我正在使用selenium web驱动程序来自动化我的Web应用程序。我正在使用java.awt.robot类来截取屏幕截图。当我运行我的测试时,它将打开浏览器,它将按照我的需要执行,它将在桌面屏幕上显示前窗的屏幕截图。

实际需要:

我最小化了由selenium打开并在某些应用程序中执行其他操作的浏览器窗口的屏幕。在这种情况下,我的测试用例将完美执行,但屏幕截图不是浏览器窗口,而是我打开的应用程序。

我的需要是在最小化浏览器窗口时截取它。

是否可以使用Robot?我不是说我需要单独使用机器人类来截屏。请建议我其他方式。

请考虑我需要使用TakesScreenshot类selenium API的屏幕截图。

2 个答案:

答案 0 :(得分:1)

据我所知,如果我们在屏幕上显示其他内容,我们将无法使用Robot类来获取浏览器窗口的快照。这是捕获当前在那里活动的PC屏幕上发生的任何事情。 感谢

答案 1 :(得分:0)

试试这个:

File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    try {
        FileUtils.copyFile(scrFile, new      File(System.getProperty("user.dir")+"\\screenshots\\"+fileName+".jpg"));
    } catch (IOException e) {
        e.printStackTrace();
    }      

File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); try { FileUtils.copyFile(scrFile, new File(System.getProperty("user.dir")+"\\screenshots\\"+fileName+".jpg")); } catch (IOException e) { e.printStackTrace(); }