Javascript 作为自动化测试的一部分,监视特定的js事件以及执行这些事件所需的时间?
我试图找到一种可靠的方法来测试一个webapp,以获得某些性能指标。webapp主要使用Javascript进行各种操作/请求等 我想能够做的是测量两个特定事件之间的时间,例如,在我登录到站点后,某个东西出现在用户面前所需的时间量-目前,我可以使用Selenium Webdriver进行近似计算,如下所示:Javascript 作为自动化测试的一部分,监视特定的js事件以及执行这些事件所需的时间?,javascript,performance,testing,selenium,automated-tests,Javascript,Performance,Testing,Selenium,Automated Tests,我试图找到一种可靠的方法来测试一个webapp,以获得某些性能指标。webapp主要使用Javascript进行各种操作/请求等 我想能够做的是测量两个特定事件之间的时间,例如,在我登录到站点后,某个东西出现在用户面前所需的时间量-目前,我可以使用Selenium Webdriver进行近似计算,如下所示: WebElement element4 = driver.findElement(By.linkText("Login")); element4.click(); long start =
WebElement element4 = driver.findElement(By.linkText("Login"));
element4.click();
long start = System.currentTimeMillis();
WebElement element5 = wait3.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("New")));
long finish = System.currentTimeMillis();
long time = finish - start;
System.out.println("Time taken for New element to load: " + time + "ms");
或使用:
WebElement element6 = driver.findElement(By.linkText("New"));
代替
wait3.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("New")));
然而,这将给出的结果通常并不准确。我想知道的是,是否有一种方法可以使用Selenium更准确地实现这一点,或者是否有另一种工具可以用来可靠地以可管理的格式获取这些数据
谢谢您需要多少准确度?总有一个误差幅度,你必须为你的场景定义可接受的误差幅度 在这种情况下,可能会有一小部分开销,例如由于Selenium本身(特别是在运行远程WebDriver时)。我想可能还有其他随机的外部因素也会影响它 也就是说,您可以通过运行“校准”测试来提高准确性,该测试将帮助您确定您自己的测试环境/设置固有的误差裕度 您的校准可能如下所示:
wait.until()
错误