Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java.awt.Robot中设置窗口的焦点_Java_Selenium_Webdriver_Screenshot_Awtrobot - Fatal编程技术网

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

如何在java.awt.Robot中设置窗口的焦点,java,selenium,webdriver,screenshot,awtrobot,Java,Selenium,Webdriver,Screenshot,Awtrobot,我正在使用SeleniumWeb驱动程序自动化我的web应用程序。我正在使用java.awt.robot类截图。当我运行我的测试时,它将打开浏览器,它将根据我的需要执行,它将在桌面屏幕上截取前窗口的屏幕截图 实际需求: 我最小化了selenium打开的浏览器窗口的屏幕,并在一些应用程序中执行了一些其他操作。在这种情况下,我的测试用例将完美执行,但屏幕截图不是浏览器窗口,而是我打开的应用程序 我需要的是在最小化浏览器窗口时拍摄它的屏幕截图 是否可以使用机器人?我不是说我需要单独使用robot类的截

我正在使用SeleniumWeb驱动程序自动化我的web应用程序。我正在使用
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();
    }