2012-06-28 9 views

cevap

12

Eğer tamamen (Selenyum 2 bilinir) Selenyum WebDriver kullanarak bir sayfayı yüklemek için sürer ne kadar zaman öğrenmek çalışıyorsanız.

Normal olarak WebDriver, denetimi yalnızca sayfa tamamen yüklendikten sonra kodunuza geri döndürmelidir. Bazı eleman sayfasında görüntülenir kadar beklemek zorunda kalacak bu daha sonra çalışmazsa

long start = System.currentTimeMillis(); 

driver.get("Some url"); 

long finish = System.currentTimeMillis(); 
long totalTime = finish - start; 
System.out.println("Total Time for page load - "+totalTime); 

- -

Yani aşağıdaki Selenyum Java kod Sayfa yüklemesi için zaman bulmak için size yardımcı olabilir

long start = System.currentTimeMillis(); 

driver.get("Some url"); 

WebElement ele = driver.findElement(By.id("ID of some element on the page which will load")); 
long finish = System.currentTimeMillis(); 
long totalTime = finish - start; 
System.out.println("Total Time for page load - "+totalTime); 
+0

'u kullanın. Bunun olası tek sorunu, Selenium komutlarını göndermek/almak için gereken süreyi de eklemenizdir. Web'de bir hub ile çalışıyorsanız, bu eklenen gecikme, pageload zaman sonucunu çarpabilir. – Jochen

+0

evet kesinlikle haklısınız. Bu tamamen doğru cevap değil. Eğer java ve selenyum kullanmıyorsak, bir eklenti bize doğru zamanı verebilir - http://www.searchenginejournal.com/best-firefox-addons-to-analyze-the-page-load-time/12419/. Java kodu kullanarak sayfa yükleme süresine ulaşmanın herhangi bir yolu varsa lütfen bana bildirin. –

+0

Ajax çağrıları devam ederse ve eleman da görünür durumda mı? Örnek web sitesi - http://www.mortgage-lender-reviews.com/reviews/amerisave-reviews.html –

-8

driver.manage() timeouts() pageLoadTimeout (60, TimeUnit.SECONDS);

3

org.apache.commons.lang3.time paketinin StopWatch nesnesini kullanabilirsiniz. Aşağıdakiler, Java kullanılarak Selenium WebDriver yazılımının tam kodudır:

import org.apache.commons.lang3.time.StopWatch; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.ui.ExpectedConditions; 
import org.openqa.selenium.support.ui.WebDriverWait; 

public class TimerInSeleniumWebDriver { 
    public static void main(String[] args) { 
     WebDriver driver; 
     driver = new FirefoxDriver();  
     StopWatch pageLoad = new StopWatch(); 
     pageLoad.start(); 
     //Open your web app (In my case, I opened facebook) 
     driver.get("https://www.facebook.com/"); 
     // Wait for the required any element (I am waiting for Login button in fb) 
     WebDriverWait wait = new WebDriverWait(driver, 10); 
     wait.until(ExpectedConditions.presenceOfElementLocated(By.id("u_0_l"))); 

     pageLoad.stop(); 
     //Get the time 
     long pageLoadTime_ms = pageLoad.getTime(); 
     long pageLoadTime_Seconds = pageLoadTime_ms/1000; 
     System.out.println("Total Page Load Time: " + pageLoadTime_ms + " milliseconds"); 
     System.out.println("Total Page Load Time: " + pageLoadTime_Seconds + " seconds"); 
     driver.close(); 
    } 
}