2016-04-27 9 views
0

Weiß jemand, wie man einen vollständigen Screenshot der Anzeige mit dem Webdriver erstellt? In Selenium Dokumentation habe ich gelesen, dass es möglich ist: (http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/TakesScreenshot.html)Wie mache ich den Screenshot des gesamten Displays, das den Browser mit dem Webdriver enthält?

..

  • Der Screenshot der gesamten Anzeige des Browsers
  • ..

    Ich verwende Selenium Grid enthält. Mein Hub ist auf Linux und Knoten in Windows. Ich habe versucht, Roboter zu bedienen, aber es dauert Screenshot auf Linux muss jedoch auf Windows

    +0

    Sie benötigen weitere Informationen; hier ist wirklich keine Frage. Zum Beispiel, was hast du probiert? Haben Sie einen Code, den Sie geschrieben haben? Wenn ja, poste es! – Brian

    Antwort

    0

    Wenn Sie einen Screenshot des aktuell laufenden Browser-Instanz wollen, dann können Sie es tun folgenden Code:

    public static void captureScreen(WebDriver driver, String screenshotFileName) 
        { 
         String screenshotsFile = screenshotsFolder+screenshotFileName+imageExtention; 
    
         try { 
          File screenShot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
          FileUtils.copyFile(screenShot, new File(screenshotsFile)); 
         } catch (IOException e) { 
    
         } 
        } 
    

    Aber wenn Wenn Sie einen Screenshot Ihres aktiven Fensters erstellen möchten (außer dem Browser), können Sie die Robot-Klasse verwenden.

    Edit:

    Obwohl es für Sie zu spät ist, den unten stehenden Link enthält die Antwort. Ich denke, dass es für andere hilfreich sein kann, die nach der gleichen Sache suchen. Screen shot issue in selenium webdriver

    +0

    Ja, ich muss einen Screenshot meines aktiven Fensters erstellen. Allerdings ist mein Hub auf Linux und Knoten sind unter Windows. Also Roboter nimmt Screenshot auf Linux –

    -1

    hallo versuchen Sie es wie unten, damit er die komplette Webseite Bildschirm nehmen, wird erschossen

    File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
    //The below method will save the screen shot in defined drive with name "screenshot.png" 
    FileUtils.copyFile(scrFile, new File("yourPath\\screenshot.png")); 
    
    +0

    Danke, aber ich muss einen Screenshot der gesamten Anzeige machen. –

    0

    Sie benötigen FirefoxDriver verwenden ganze Seite Screenshot. Chrome und IE unterstützt dies nicht.

    Verwandte Themen