2016-04-01 6 views
2

Mein Szenario ist, ich bekomme die gleiche Fehlerseite bei vielen meiner Klicks auf der Website. Ich möchte Screenshots, von dieser gleichen Fehlerseite, mit Verweis darauf machen, auf welchem ​​Link der Seite diese Fehlerseite aufgetreten ist. Also ich will Screenshot immer wenn diese Fehlerseite bei jedem Klick auftritt. Können Sie mir vorschlagen, wie Sie die Funktion dafür schreiben und wie Sie diese Funktion in einer anderen Funktion in selen Webdriver aufrufen. Bitte teilen Sie ein Codebeispiel dafür.Screenshots auf einer bestimmten Fehlerseite im Selen Web-Treiber erstellen

Ab zur Zeit schreibe ich es nur als:

File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile, new File("D:\\Home\\Ruchi\\failure.png")); 

in dieser Aber ich brauche diese Zeilen Code nach jedem Fehlerauftritt zu schreiben.

+0

Bitte geben Sie Ihre Codezeilen an, wo Sie diese verwenden möchten. – Sagar007

+0

Ich habe einige Beispielcodes/Szenarien, die Ihnen helfen könnten. Sag mir, wenn du das brauchst. – Sagar007

+0

SWNfindElement1 ("ctl00_CenterCPH_btnUpload", "Bulk-Anbieter hochladen"); \t Datei scrFile1 = ((TakesScreenshot) Treiber) .getScreenshotAs (OutputType.FILE); \t FileUtils.copyFile (scrFile1, neue Datei ("D: \\ Home \\ Ruchi \\ Fehler (Upload Bulk-Anbieter) .png")); wie in diesem Code hier nach diesem Button klicken Ich bekomme Fehler Seite, so ähnlich gibt es viele Links und Button, so dass ich Screenshot für jeden dieser Event mit verschiedenen PNG-Dateinamen erhalten möchte und welches Ereignis aufgetreten ist. –

Antwort

1

Verwendung try und catch-Block

try{ 
    // Put your script here 
} 
catch(Exception ex) 
{ 
      File scrn=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 

      // extracting date for folder name. 
      SimpleDateFormat sdfDate1 = new SimpleDateFormat("yyyy-MM-dd");//dd/MM/yyyy 
      Date now1 = new Date(); 
      String strDate1 = sdfDate1.format(now1); 

      // extracting date and time for snapshot file 
      SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");//dd/MM/yyyy 
      Date now = new Date(); 
      String strDate = sdfDate.format(now); 

      String filefolder="./Snap/"+strDate1+"/"; // create a folder as snap in your project directory 

      // Creating folders and files 
      File f = new File(filefolder+strDate+".jpeg"); 

      FileUtils.copyFile(scrn, new File(f.getPath())); 
} 

Wenn Ihr Skript fehlschlägt, dann springt der Programmblock zu fangen und dann Code Schuss nehmen Bildschirm für Sie

es Ihnen Hoffnung helfen :)

+0

Aber hier wird die PNG-Datei bei jeder Instanz des Fehlers überschrieben, ich möchte die Screenshots mit verschiedenen Dateinamen und wo es aufgetreten ist. –

+0

Genau weiß ich thth .. für das können Sie Zeit und Datum verwenden .. Ich habe meine Antwort aktualisiert .. Es wird Bild accroding bis Datum speichern .. Zeit und sec –

+0

das ist nützlich, vielen Dank. Aber ich möchte auch auf welcher Seite oder Link ist die Ausnahme –

Verwandte Themen