学网站建设与管理有用吗,用jsp做的网站在不同浏览器显示效果差异很大如何解决,非洲外贸平台有哪些,免费建设小学校网站性能日志 ChromeDriver支持性能日志记录#xff0c;您可以从中获取域“时间轴”#xff0c;“网络”和“页面”的事件#xff0c;以及指定跟踪类别的跟踪数据。启用性能日志 默认情况下不启用性能日志记录。因此#xff0c;在创建新会话时#xff0c;您必须启用它。 Desir…性能日志 ChromeDriver支持性能日志记录您可以从中获取域“时间轴”“网络”和“页面”的事件以及指定跟踪类别的跟踪数据。启用性能日志 默认情况下不启用性能日志记录。因此在创建新会话时您必须启用它。 DesiredCapabilities cap DesiredCapabilities.chrome();LoggingPreferences logPrefs new LoggingPreferences();logPrefs.enable(LogType.PERFORMANCE, Level.ALL);cap.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);RemoteWebDriver driver new RemoteWebDriver(new URL(http://127.0.0.1:9515), cap); 启用后性能日志将收集时间轴网络和页面事件。要同时启用跟踪或自定义性能日志记录请参阅以下部分。使用默认选项查看性能日志记录的完整示例信用Michael Klepikov。 Angular Benchpress还使用性能记录。 跟踪和自定义日志记录 如果您希望自定义性能日志记录例如启用跟踪则可以使用perfLoggingPrefs功能通过ChromeOptions。可以通过指定一个或多个Chrome跟踪类别来启用跟踪。有关Chrome跟踪的详细信息请参阅此处。启用跟踪时将隐式禁用时间轴域。请注意您仍需要使用loggingPrefs功能启用性能日志。DesiredCapabilities cap DesiredCapabilities.chrome();LoggingPreferences logPrefs new LoggingPreferences();logPrefs.enable(LogType.PERFORMANCE, Level.ALL);cap.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);MapString, Object perfLogPrefs new HashMapString, Object();perfLogPrefs.put(traceCategories, browser,devtools.timeline,devtools); // comma-separated trace categoriesChromeOptions options new ChromeOptions();options.setExperimentalOption(perfLoggingPrefs, perfLogPrefs);caps.setCapability(ChromeOptions.CAPABILITY, options);RemoteWebDriver driver new RemoteWebDriver(new URL(http://127.0.0.1:9515), cap); 您还可以使用perfLoggingPrefs单独启用或禁用网络和页面域。例如您可以在跟踪时显式启用网络域...MapString, Object perfLogPrefs new HashMapString, Object();perfLogPrefs.put(traceCategories, browser,devtools.timeline,devtools);perfLogPrefs.put(enableNetwork, true);ChromeOptions options new ChromeOptions();options.setExperimentalOption(perfLoggingPrefs, perfLogPrefs);caps.setCapability(ChromeOptions.CAPABILITY, options);... 关于跟踪的说明 如果启用了跟踪功能ChromeDriver会在启动Chrome时启动浏览器范围的跟踪并会继续跟踪直到Chrome关闭。当跟踪正在运行时Chrome会缓冲内存中的跟踪事件直到跟踪停止为止。跟踪缓冲区已满后将不再记录跟踪事件。为避免完整缓冲区从而丢失跟踪数据ChromeDriver将定期停止当前跟踪收集缓冲事件并在测试期间的某些点重新开始跟踪。收集跟踪事件会增加测试开销因此ChromeDriver仅在测试期间的适当点收集跟踪事件。目前仅在页面导航事件以及请求任何ChromeDriver日志例如性能日志时收集跟踪事件。缓冲区仍有可能仍然填充因此ChromeDriver会监控支持的Chrome版本r263512及更高版本的缓冲区使用情况。如果缓冲区填满ChromeDriver将记录警告并将性能日志中的条目添加如下所述。收集日志条目 在测试中您可以获得如下的性能日志条目。有关更多信息请参阅 WebDriver日志记录文档。for (LogEntry entry : driver.manage().logs().get(LogType.PERFORMANCE)) { System.out.println(entry.toString());} 每个条目都是以下结构的JSON字符串{ webview: originating WebView ID, message: { method: ..., params: { ... }} // DevTools message.} 该方法的值是DevTools事件的方法参见Chrome远程调试协议文档。例如Timeline事件将为协议的所有版本提供Timeline.eventRecorded 方法包括1.1版本编写本文时的最新版本。跟踪日志条目 从版本1.1开始跟踪不是已发布的DevTools协议的一部分因此详细信息如下。由于事件是在浏览器范围内收集的因此所有跟踪事件的webview值都将为“浏览器”。 有两种可能的跟踪事件方法tracing.dataCollected params 将是一个字典形式的单个跟踪事件tracing.bufferUsage params 将包含一个错误键并带有一条消息指示在测试期间填充的DevTools跟踪缓冲区如上所述下面是一个示例跟踪事件{ webview:browser, message:{ method:Tracing.dataCollected, params:{ args:{layerTreeId:1}, cat:cc,devtools, name:DrawFrame, ph:i, pid:11405, s:t, tid:11405, ts:3846117219.0, tts:1134680 } }} 在Chrome初始化里面加载如下 if(sandBoxMode!0){ ChromeOptions options new ChromeOptions(); LoggingPreferences logPrefs new LoggingPreferences(); logPrefs.enable(LogType.PERFORMANCE, Level.ALL); MapString, Object perfLogPrefs new HashMapString, Object(); perfLogPrefs.put(traceCategories, browser,devtools.timeline,devtools); // comma-separated trace categories options.setExperimentalOption(perfLoggingPrefs, perfLogPrefs); options.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT); options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); options.addArguments(langzh_CN.UTF-8); options.addArguments(use-fake-ui-for-media-stream); options.addArguments(disable-popup-blocking); options.addArguments(--start-maximized);//设置窗口最大化 新API // options.addArguments(--headless); options.addArguments(--no-sandbox); options.addArguments(--disable-gpu); options.addArguments(--disable-browser-side-navigation); options.addArguments(--dns-prefetch-disable); ChromeOptions capabilities new ChromeOptions(); capabilities.setCapability(ChromeOptions.CAPABILITY, options); capabilities.setCapability(CapabilityType.LOGGING_PREFS, logPrefs); driver new ChromeDriver(capabilities); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(80, TimeUnit.SECONDS); driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS); Log.info(Chrome browser started); Constants.sResultPASS; }else if(sandBoxMode0){ if(sandBoxMode!0){ChromeOptions options new ChromeOptions();LoggingPreferences logPrefs new LoggingPreferences();logPrefs.enable(LogType.PERFORMANCE, Level.ALL);MapString, Object perfLogPrefs new HashMapString, Object();perfLogPrefs.put(traceCategories, browser,devtools.timeline,devtools); // comma-separated trace categoriesoptions.setExperimentalOption(perfLoggingPrefs, perfLogPrefs);options.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT);options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);options.addArguments(langzh_CN.UTF-8);options.addArguments(use-fake-ui-for-media-stream);options.addArguments(disable-popup-blocking);options.addArguments(--start-maximized);//设置窗口最大化 新API// options.addArguments(--headless);options.addArguments(--no-sandbox);options.addArguments(--disable-gpu);options.addArguments(--disable-browser-side-navigation);options.addArguments(--dns-prefetch-disable);ChromeOptions capabilities new ChromeOptions();capabilities.setCapability(ChromeOptions.CAPABILITY, options);capabilities.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);driver new ChromeDriver(capabilities);driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.manage().timeouts().pageLoadTimeout(80, TimeUnit.SECONDS);driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);Log.info(Chrome browser started);Constants.sResultPASS;}else if(sandBoxMode0){ View Code 调用方法如下 LogEntries logEntries driver.manage().logs().get(LogType.PERFORMANCE);for (LogEntry entry : logEntries) {System.out.println(new Date(entry.getTimestamp()) entry.getLevel() entry.getMessage());System.out.println(new Date(entry.getTimestamp()) entry.getLevel().INFO INFO entry.getMessage());System.out.println(new Date(entry.getTimestamp()) entry.getLevel().ALL ALL entry.getMessage());System.out.println(new Date(entry.getTimestamp()) entry.getLevel().SEVERE SEVERE entry.getMessage());System.out.println(new Date(entry.getTimestamp()) entry.getLevel().WARNING WARNING entry.getMessage());//do something useful with the data} 可以参考 转载于:https://www.cnblogs.com/a00ium/p/10858740.html