1

我需要测量 Web GUI 应用程序中不同功能的 UI 延迟。

例如测量登录操作中的延迟

1) 输入用户名、密码。

2) 点击登录按钮

3) 测量点击登录按钮后到登录操作完成的时间。

我认为更好的仪器是 Selenium Grid2、Webdriver、TestNG。下面是登录测试的示例代码

    @Test
    public void testLogin() throws InterruptedException {
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.name("username"))).sendKeys("admin");
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.name("password"))).sendKeys("admin");
    }

    @Test
    public void testLoginPerf() throws InterruptedException {
        webDriver.findElement(By.className("login-button")).click();
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("logout-button")));
    }

测试运行良好,报告显示执行持续时间。

测试 testLoginPerf() 的执行持续时间会给我 UI 延迟的确切值吗???有没有更好的方法来衡量这个?

4

2 回答 2

2

看看 dynatrace,虽然我不确定它是否比你想要的更多

https://apmcommunity.compuware.com/community/display/PUB/How+to+include+dynaTrace+in+your+Selenium+Tests

于 2013-07-01T20:18:45.843 回答
1

如果您想测量单击后 UI 需要显示注销按钮的时间,请执行以下操作:

@Test
    public void testLoginPerf() throws InterruptedException {
        webDriver.findElement(By.className("login-button")).click();
        long start = System.currentTimeMilis();
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("logout-button")));
        long end = System.currentTimeMilis();
        System.out.println("Time: " + (end - start) + " ms);
    }

另外不要忘记为您的等待对象设置 sleepInMillis,使其足够小以使测量准确。

于 2013-07-01T18:48:16.730 回答