在执行期间检查 WebDriver 测试中的加载时间

我使用Selenium WebDriver 3.14并在Chrome浏览器中执行测试。我需要在执行时间测量页面的响应时间,以检查它是否在预定义值之下。如果它大于此值,则应执行一些附加操作。所以我需要不同的解决方案System.currentTimeMillis(),因为这个值的检查应该在后台自动完成。它是一个类似 AJAX 的窗口,所以当加载时间过长时,它应该被脚本关闭。窗口示例:

http://img4.mukewang.com/6166a49b0001097e06740389.jpg

慕容3067478
浏览 138回答 3
3回答

呼啦一阵风

如果我理解正确,您可以将时间减少selenium.waitForPageToLoad("100000");到所需的预定义值,例如 20 秒。因此,如果您希望页面在 20 秒内未加载时停止加载,请尝试以下操作:long start = System.currentTimeMillis();    try {      selenium.waitForPageToLoad("20000");      System.out.println("The page load is too long!");} catch {      long timeToLoad= (System.currentTimeMillis()-start);      System.out.println("The page loaded in " +timeToLoad+ " seconds.");}

ITMISS

你应该尝试设置日志首选项,通过能力CapabilityType.LOGGING_PREFS为性能日志。例如:LoggingPreferences logs = new LoggingPreferences(); logs .enable(LogType.PERFORMANCE, Level.ALL);caps.setCapability(CapabilityType.LOGGING_PREFS, logs); 您可以获得如下性能日志条目。for (LogEntry entry : driver.manage().logs().get(LogType.PERFORMANCE)) {    System.out.println(entry.toString());    //do the needful}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java