我正在使用selenium web驱动程序来自动化我的Web应用程序。我正在使用java.awt.robot
类来截取屏幕截图。当我运行我的测试时,它将打开浏览器,它将按照我的需要执行,它将在桌面屏幕上显示前窗的屏幕截图。
实际需要:
我最小化了由selenium打开并在某些应用程序中执行其他操作的浏览器窗口的屏幕。在这种情况下,我的测试用例将完美执行,但屏幕截图不是浏览器窗口,而是我打开的应用程序。
我的需要是在最小化浏览器窗口时截取它。
是否可以使用Robot
?我不是说我需要单独使用机器人类来截屏。请建议我其他方式。
请考虑我需要使用TakesScreenshot
类selenium API的屏幕截图。
答案 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();
}