美文网首页
使用python监控前端性能

使用python监控前端性能

作者: bluepang | 来源:发表于2021-12-20 10:08 被阅读0次

    #!/usr/bin/env python

    #-*- coding: utf-8 -*-

    import logging

    import csv

    import datetime

    from selenium import webdriver

    data=datetime.datetime.now().strftime('%Y%m%d%H%M')  #获取当前的时间

    filename="timing_{}.csv".format(data)  #创建一个csv文件

    driver = webdriver.Chrome()

    driver.get('https://www.baidu.com')

    driver.maximize_window()

    driver.find_element_by_id('kw').send_keys('性能测试')

    driver.find_element_by_id('su').click()

    #前端性能监控的接口

    js = 'return window.performance.timing'

    #执行JS脚本

    timing = driver.execute_script(js)

    print(timing)

    logging.info(timing)

    DNS_time=timing["domainLookupEnd"]-timing["domainLookupStart"] #DNS查询耗时

    TCP_time = timing["connectEnd"] - timing["connectStart"]  # TCP链接耗时

    Requesr_time = timing["responseEnd"] - timing["responseStart"]  # request请求耗时

    dom_time = timing["domComplete"] - timing["domInteractive"]  # 解析dom树耗时

    # 白屏时间  白屏时间指的是浏览器开始显示内容的时间。因此我们只需要知道是浏览器开始显示内容的时间点,

    # 即页面白屏结束时间点即可获取到页面的白屏时间。

    white_screen= timing["responseStart"] - timing["navigationStart"]

    domready_time = timing["domainLookupEnd"] - timing["domainLookupStart"]  # DNS查询耗时

    onload_time = timing["loadEventEnd"] - timing["navigationStart"]  # onload时间

    with open(filename, "a+", newline='') as csvfile:

        csv_write = csv.writer(csvfile)

    # writerow 是一行一行写入  writerows方法是一次写入多行

    csv_write.writerow(["DNS查询耗时", "TCP链接耗时", "request请求耗时", "解析dom树耗时", "白屏时间", "DNS查询耗时", "onload时间"])

        csv_write.writerow([DNS_time, TCP_time, Requesr_time, dom_time,white_screen, domready_time, onload_time])

    driver.quit()

    相关文章

      网友评论

          本文标题:使用python监控前端性能

          本文链接:https://www.haomeiwen.com/subject/apnafrtx.html