In base alla documentazione sul selenio, le interazioni tra il client webdriver e un browser vengono effettuate tramite JSON Wire Protocol. Fondamentalmente il client, scritto in python, ruby, java any, invia messaggi JSON al browser web e anche il browser web risponde con JSON.Monitoraggio dei registri del protocollo JSON
C'è un modo per visualizzare/catturare/registrare questi messaggi JSON mentre si esegue un test del selenio?
Per esempio (in Python):
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://google.com')
driver.close()
voglio vedere quali messaggi JSON stanno tra il selenio pitone WebDriver client e un browser quando ho istanziare il driver (in questo caso Chrome): webdriver.Chrome()
, quando ottengo una pagina: driver.get('http://google.com')
e quando la sto chiudendo: driver.close()
.
FYI, nel #SFSE: Stripping Down Remote WebDriver esercitazione, è stata fatta tramite catturare il traffico di rete tra la macchina locale in cui lo script è in esecuzione e il server di selenio distanza.
Sto taggando la domanda come Python
specifica, ma sarei davvero felice con qualsiasi suggerimento.
Guardando la [documentazione API Selenium Webdriver] (http://selenium-python.readthedocs.org/api.html) non sembra esserci alcun modo accessibile di usare la libreria e di averla condivisa con il JSON generando/ricezione. Probabilmente mi piacerebbe anche tentare di catturare il traffico di rete. – ydaetskcoR
@ydaetskcoR grazie, questo è quello a cui sto pensando attualmente, anche se non sono sicuro che sia fattibile se il client e il driver attuale sono sul computer locale. Ho deciso di chiedere alla comunità se ci sono altre opzioni. – alecxe
Probabilmente è l'approccio sbagliato, ma è sempre possibile avviare una VM e inserire un server di selenio su di esso in modo da poter acquisire il traffico di rete sul livello di rete virtuale. – ydaetskcoR