14

Ich versuche, die Idee in der Web Performance Testing with WebDriver Google Testautomatisierung Konferenz Talk und ChromeDriver "Performance Log" documentation page zu folgen, um die Trace-Daten, die ich an webpagetest für die Leistungsanalyse später übermitteln möchten.Getting Chrome Leistung und Ablaufverfolgung Protokolle

Wie kann ich Leistungsprotokolle mit Python Selenbindungen abrufen?


Ich habe versucht, aus log_types im Treiber zur Verfügung Instanz

from selenium import webdriver 

driver = webdriver.Chrome() 
driver.get('https://stackoverflow.com') 

print driver.log_types 

driver.close() 

bekam aber nur

[u'browser', u'driver'] 

Und ich sehe nicht ein relevantes command-line switch zu drucken.

Antwort

17

Leistungsprotokolle sind standardmäßig deaktiviert.

es zu aktivieren, verwenden DesiredCapabilities und konfigurieren loggingPrefs:

from selenium import webdriver 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 

caps = DesiredCapabilities.CHROME 
caps['loggingPrefs'] = {'performance': 'ALL'} 
driver = webdriver.Chrome(desired_capabilities=caps) 

driver.get('https://stackoverflow.com') 

for entry in driver.get_log('performance'): 
    print entry 

driver.close() 

Dies führt zu einer Reihe von Verfolgungsprotokolleinträge auf der Konsole ausgegeben:

{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Network.responseReceived","params":{"frameId":"2105.1","loaderId":"2105.2","requestId":"2105.1","response":{"connectionId":0,"connectionReused":false,"encodedDataLength":-1,"fromDiskCache":false,"fromServiceWorker":false,"headers":{"Access-Control-Allow-Origin":"*","Content-Type":"text/plain;charset=US-ASCII"},"mimeType":"text/plain","status":200,"statusText":"OK","url":"data:,"},"timestamp":1419487458.92934,"type":"Document"}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'} 
{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Network.loadingFinished","params":{"encodedDataLength":0,"requestId":"2105.1","timestamp":1419487458.92936}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'} 
{u'timestamp': 1419487459178, u'message': u'{"message":{"method":"Page.frameNavigated","params":{"frame":{"id":"2105.1","loaderId":"2105.2","mimeType":"text/plain","securityOrigin":"://","url":"data:,"}}},"webview":"2C66E956-A48B-456B-8A4E-1022F699AA92"}', u'level': u'INFO'} 
...