我最近开始进行UI测试,并且想知道是否有任何工具可以计算加载UI页面以在浏览器中加载所需的时间,包括服务器响应时间(我的意思是从请求发送到浏览器的总时间页面加载)。 我知道可以使用firebug / developer工具手动查找它,但还有其他方法可以实现。使用selenium,我可以使用firefox驱动程序,找出获取页面和报告时间所需的时间,但我不确定它是否是正确的时间。
答案 0 :(得分:1)
关于解决方案的几句话:
我们将借助Google Chrome浏览器作为参考。据我们所知,当页面完全加载时,浏览器会将Document.ReadyState
作为Complete
返回给Selenium。这是Selenium执行下一行代码时的情况。我们将启动计时器并开始加载网页。当document.readyState
设置为complete
时,我们将停止计时器。这是Selenium-Java代码块:
package demo;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class Q_44643596_measurement_application_load {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
WebDriverWait wait = new WebDriverWait(driver, 30);
long start = System.currentTimeMillis();
driver.get("https://stackoverflow.com/");
boolean pageLoaded = wait.until(ExpectedConditions.jsReturnsValue("return document.readyState")).equals("complete");
long finish = System.currentTimeMillis();
System.out.println("Page has loaded? " + pageLoaded);
long totalTime = finish - start;
System.out.println("Total Time (in Milli Seconds) for page load - "+totalTime);
}
}