如何在java.awt.Robot中设置窗口的焦点
我正在使用SeleniumWeb驱动程序自动化我的web应用程序。我正在使用如何在java.awt.Robot中设置窗口的焦点,java,selenium,webdriver,screenshot,awtrobot,Java,Selenium,Webdriver,Screenshot,Awtrobot,我正在使用SeleniumWeb驱动程序自动化我的web应用程序。我正在使用java.awt.robot类截图。当我运行我的测试时,它将打开浏览器,它将根据我的需要执行,它将在桌面屏幕上截取前窗口的屏幕截图 实际需求: 我最小化了selenium打开的浏览器窗口的屏幕,并在一些应用程序中执行了一些其他操作。在这种情况下,我的测试用例将完美执行,但屏幕截图不是浏览器窗口,而是我打开的应用程序 我需要的是在最小化浏览器窗口时拍摄它的屏幕截图 是否可以使用机器人?我不是说我需要单独使用robot类的截
java.awt.robot
类截图。当我运行我的测试时,它将打开浏览器,它将根据我的需要执行,它将在桌面屏幕上截取前窗口的屏幕截图
实际需求:
我最小化了selenium打开的浏览器窗口的屏幕,并在一些应用程序中执行了一些其他操作。在这种情况下,我的测试用例将完美执行,但屏幕截图不是浏览器窗口,而是我打开的应用程序
我需要的是在最小化浏览器窗口时拍摄它的屏幕截图
是否可以使用机器人?我不是说我需要单独使用robot类的截图。请也给我建议其他的方法
请考虑我需要使用SudioAPI的<代码> TakesScreenshot < /代码>类来进行屏幕截图。 据我所知,如果我们在屏幕上看到其他东西,我们将无法使用Robot类来拍摄浏览器窗口的快照。它是用来捕捉你的电脑屏幕上发生的任何事情,而你的电脑屏幕上当前处于活动状态。
谢谢
试试这个:
@Deepu:谢谢您的回复。除了机器人之外,还有其他可能实现上述场景吗?@Andrew Thompson:谢谢:)@Manigandan:我们使用Selenium在Selenium中的类来截图。你能说明你为什么想用其他方法吗?@Deepu:如果我们用IE的TakesScreenshot
class来截图,这意味着它将重新调整窗口大小来截图。我不希望那件事发生。由于这个原因,我更喜欢另一种方式。@Manigandan:好的:)很抱歉,我不知道除了这两种方式之外还有什么其他方式可以做:(请阅读我需要使用TakeScreenshot
API进行截图的帖子。提供与问题相关的答案。
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();
}