2016-04-01 15 views
2

Benim durumum, sitedeki düğme tıklamalarımın çoğunda aynı hata sayfasını alıyorum. Bu hata sayfasının ekran görüntüsünü almak istiyorum, bu hata sayfasının sitenin hangi linkinde oluştuğuna dair referans. Bu yüzden herhangi bir tıklamada bu hata sayfası olduğunda ekran görüntüsü istiyorum. Bu işlevin nasıl yazılacağını ve bu işlevi selenium Webdriver'da başka bir işlevde nasıl arayacağımı önerebilir misiniz? Lütfen bunun için bazı kod örneklerini paylaşın.Selenium web sürücüsündeki belirli hata sayfası ekran görüntülerini çekme

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

Ama bu her başarısızlık ortaya çıktıktan sonra bu kod satırları yazmaya gerek:

halen itibariyle sadece olarak yazıyorum.

+0

yardımcı olacaktır Umut için daha sonra kod ekran görüntüsünü alacak olursa Lütfen bunu kullanmak istediğiniz yerde kod satırlarınızı belirtin. – Sagar007

+0

Size yardımcı olabilecek bazı örnek kodları/senaryolarım var. Bana ihtiyacın varsa söyle. – Sagar007

+0

SWNfindElement1 ("ctl00_CenterCPH_btnUpload", "toplu satıcıları karşıya yükleme"); \t Dosya scrFile1 = ((TakesScreenshot) sürücüsü) .getScreenshotAs (OutputType.FILE); \t FileUtils.copyFile (scrFile1, new File ("D: \\ Home \\ Ruchi \\ hatası (yükleme toplu satıcıları) .png")); Bu kodda olduğu gibi burada da bu düğmeyi tıklatıyorum hata sayfası alıyorum, böylece çok sayıda bağlantı ve düğme var, bu yüzden bu olayın her biri için ekran görüntüsünü almak istiyorum, farklı png dosya adı ve hangi olay meydana geldi. –

cevap

1

kullanım dene ve yakala bloğu

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())); 
} 

senaryonuz sonra başarısız programı bloğu yakalamak için atlar ve

seni :)

+0

Ama burada png dosyası her örnekte hata oluşturulur, ben farklı dosya adı ve nerede meydana geldiğini ekran görüntüleri almak istiyorum. –

+0

Tam olarak bildiğim .. zaman ve tarih için kullanabilirsiniz .. Cevabımı güncelledim .. Bu tarihe kadar accroding kaydedecektir .. zaman ve saniye –

+0

bu çok yararlı, teşekkürler. Ama aynı zamanda başka bir soru göndermek için lütfen –

İlgili konular