1

我需要编写一个自动化测试来计算屏幕响应的平均响应时间。我正在使用硒和 VB.net。请指导如何计算。因为 waitforpage() 只允许您指定等待的最长时间。我如何才能真正获得加载时间。

亲切的问候 Thx

4

1 回答 1

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");

    }
}

这个想法如下:您按下登录按钮或任何其他元素导致页面加载。然后你启动计时器。然后选择一组应该显示在页面上的元素。并使用 fluentWait 机制等到它们出现。然后应该停止计时器。

流利的等待信息 流利的等待方法代码:

 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对你来说很清楚)

于 2012-09-26T13:27:42.117 回答