Ist es möglich, einen Screenshot mit Selenium WebDriver zu erstellen?
(Anmerkung: Nicht Selenium-Fernbedienung )
Ist es möglich, einen Screenshot mit Selenium WebDriver zu erstellen?
(Anmerkung: Nicht Selenium-Fernbedienung )
public void captureScreenShot(String obj) throws IOException {
File screenshotFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(screenshotFile, new File("Screenshots\\" + obj + "" + GetTimeStampValue() + ".png"));
}
public String GetTimeStampValue()throws IOException{
Calendar cal = Calendar.getInstance();
Date time = cal.getTime();
String timestamp = time.toString();
System.out.println(timestamp);
String systime = timestamp.replace(":", "-");
System.out.println(systime);
return systime;
}
Mit diesen beiden Methoden können Sie auch ein Bildschirmfoto mit Datum und Uhrzeit erstellen.
Mit RemoteWebDriver würde ich, nachdem ich den Node mit Screenshot-Fähigkeit erweitert habe, den Screenshot wie folgt speichern:
void takeScreenShotMethod(){
try{
Thread.sleep(10000);
long id = Thread.currentThread().getId();
BufferedImage image = new Robot().createScreenCapture(new Rectangle(
Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(image, "jpg", new File("./target/surefire-reports/"
+ id + "/screenshot.jpg"));
}
catch( Exception e ) {
e.printStackTrace();
}
}
Sie können diese Methode bei Bedarf anwenden. Ich gehe davon aus, dass Sie die Formatvorlage des maven-surefire-report-plugin unter surefire-reports/html/custom.css so anpassen können, dass Ihre Berichte den Link zum richtigen Screenshot für jeden Test enthalten?
Hier ist eine Lösung unter Verwendung des Robot Frameworks mit dem Selenium2Bibliothek :
*** Settings ***
Library Selenium2Library
*** Test Cases ***
Example
Open Browser http://localhost:8080/index.html firefox
Capture Page Screenshot
Dadurch wird ein Bildschirmfoto im Arbeitsbereich gespeichert. Es ist auch möglich, einen Dateinamen für das Schlüsselwort Capture Page Screenshot
um dieses Verhalten zu ändern.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.