2017-03-06 40 views
0
  1. 我從字面上試圖以多種方式改變代碼,但即時通訊仍然沒有運氣。
  2. 當前使用谷歌瀏覽器和Windows Server 2008(虛擬機)運行所有測試。
  3. 我的代碼:爲什麼我的機器人截圖方法捕捉黑屏?

     Robot robot = new Robot(); 
        //capture a screenshot of desktop size 
        Rectangle captureSize = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); 
        BufferedImage capture = robot.createScreenCapture(captureSize); 
    
        //save to file 
        ImageIO.write(capture, "bmp", new File(image12345 + ".jpg"))); 
    
  4. 下面的代碼工作,但我需要整個屏幕,包括URL的捕獲:

     File scrFile = ((TakesScreenshot) BrowserFactory.getDriver()).getScreenshotAs(OutputType.FILE); 
    
        FileUtils.copyFile(scrFile, 
          new File((test12345 + ".jpeg"))); 
    

任何想法,爲什麼這是happenening?

感謝您的幫助

回答

1

硒的webdriver不會讓你走的瀏覽器,包括導航欄的快照。正如你注意到的,它只捕獲頁面的內容。因此,你需要使用Java Robot這樣的東西來實現它。

您提供的代碼片段是正確的。你可以找到另一個工作實例herehere

+0

感謝您的有用鏈接,您是否知道爲什麼RobotClass在虛擬機上運行測試時需要黑色截圖? 再次感謝 – Gbru

+0

它似乎在當地工作,但不是在虛擬環境中,對不起(請參閱[這裏](http://stackoverflow.com/questions/22485769/java-awt-robot-not-working-inside-a - 虛擬機))。 –

+0

加西亞多數民衆贊成在這個問題,謝謝你的幫助 – Gbru