performance_data = self.driver.execute_script("return window.performance.getEntriesByType('navigation')[0]")
navigation_start = performance_data['startTime']
dom_content_loaded = performance_data['domContentLoadedEventEnd'] - navigation_start
page_load_time = performance_data['loadEventEnd'] - navigation_start
white_screen_time = performance_data['responseStart'] - navigation_start
print(f"DOM内容加载时间: {dom_content_loaded}ms")
print(f"页面加载时间: {page_load_time}ms")
print(f"白屏时间: {white_screen_time}ms")
resources = self.driver.execute_script("return window.performance.getEntriesByType('resource')")
initiator_types = [resource["initiatorType"] for resource in resources]
type_temp = Counter(initiator_types)
print(type_temp)
dns_time = performance_data['domainLookupEnd'] - performance_data['domainLookupStart']
tcp_time = performance_data['connectEnd'] - performance_data['connectStart']
request_time = performance_data['responseStart'] - performance_data['requestStart']
dom_time = performance_data['domComplete'] - performance_data['domInteractive']
print(f"DNS查询时间: {dns_time}ms")
print(f"TCP连接时间: {tcp_time}ms")
print(f"Request时间: {request_time}ms")
print(f"DOM加载时间: {dom_time}ms")
memory_info = self.driver.execute_script("""
return {
usedJSHeapSize: window.performance.memory.usedJSHeapSize / (1024 * 1024), // 转换为MB
totalJSHeapSize: window.performance.memory.totalJSHeapSize / (1024 * 1024) // 转换为MB
};
""")
js_heap_size = memory_info.get('usedJSHeapSize', 0)
print(f"JS堆内存使用量: {js_heap_size:.2f} MB")
used_js_heap_size = self.driver.execute_script("""
return window.performance.memory.usedJSHeapSize / (1024 * 1024); // 转换为MB
""")
print(f"内存使用情况: {used_js_heap_size:.2f} MB")