2012-09-25 26 views
0

我需要編寫一個自動測試來計算屏幕響應的平均響應時間。我使用硒和VB.net。請指導如何計算它。因爲waitforpage()只允許指定等待的最長時間。我怎樣才能真正獲得加載所需的時間。如何使用vb.net計算硒中的響應時間

親切的問候 THX

回答

1

好,我想分享你的方法,我用,但只在Java。希望你能以某種方式採用它vb.net。

public class CodeTimingMeasurement extends BaseSeleniumTest { 
    @Test 
    public void rmsHomeTiming() throws IOException, InterruptedException { 

     doLogout(); 
     locatorFindingHandling("login.logininput", "login.admin.login"); 

     locatorFindingHandling("login.passinput", "login.admin.pass"); 
     long startTime = System.currentTimeMillis(); 
     locatorFindingHandling("login.loginbutton"); 


     loaderInficatorsDisappear("rms.loadingwindow"); 


     fluentWait(By.cssSelector(propertyKeysLoader("rms.home.timeoffs.gearicon"))); 
     fluentWait(By.cssSelector(propertyKeysLoader("rms.home.logout"))); 
     fluentWait(By.cssSelector(propertyKeysLoader("home.timeoffs.own"))); 

     long endTime = System.currentTimeMillis(); 
     long totalTime = endTime - startTime; 
     System.out.println("Totaltime: " + totalTime + " milliseconds"); 

    } 
} 

的想法是以下幾點: 按下登錄按鈕或任何其他元素causign頁面加載。然後你開始計時。然後你選擇一組應該在頁面上顯示的元素。並且使用流利的等待機制,你等到它們出現。然後計時器應該停止。

流利等待info 流利wait方法代碼:

public WebElement fluentWait(final By locator){ 
     Wait<WebDriver> wait = new FluentWait<WebDriver>(driver) 
       .withTimeout(30, TimeUnit.SECONDS) 
//    .pollingEvery(5, TimeUnit.SECONDS) 
       .pollingEvery(1, TimeUnit.SECONDS) 
       .ignoring(NoSuchElementException.class); 

     WebElement foo = wait.until(
       new Function<WebDriver, WebElement>() { 
        public WebElement apply(WebDriver driver) { 
         return driver.findElement(locator); 
        } 
       } 
     ); 
     return foo;    }  ; 

希望somthning來明確你)