根據硒文檔,webdriver客戶端和瀏覽器之間的交互是通過JSON Wire Protocol完成的。基本上,用python,ruby,java編寫的客戶端,將JSON消息發送到Web瀏覽器,Web瀏覽器也使用JSON進行響應。監控JSON線路協議日誌
有沒有辦法在運行硒測試時查看/捕獲/記錄這些JSON消息?
例如(在Python):
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://google.com')
driver.close()
我想看看JSON消息蟒蛇硒之間正在進行的webdriver客戶端和瀏覽器的時候我實例化驅動程序(在這種情況下鍍鉻):webdriver.Chrome()
,當我得到一個頁面:driver.get('http://google.com')
,當我關閉它:driver.close()
。
僅供參考,在#SFSE: Stripping Down Remote WebDriver教程,它通過捕獲在腳本運行本地機和遠程硒服務器之間的網絡流量進行。
我把這個問題標記爲Python
具體,但真的很樂意與任何指針。
看看[Selenium Webdriver API文檔](http://selenium-python.readthedocs.org/api.html),似乎沒有任何可訪問的方式來使用該庫並讓它共享JSON它是產生/接收。我也可能傾向於嘗試捕捉網絡流量。 – ydaetskcoR 2014-09-12 16:17:37
@ydaetskcoR謝謝,這是我目前正在考慮的內容,但不知道如果客戶端和實際驅動程序都在本地計算機上,這是否可行。決定詢問社區是否有其他選擇。 – alecxe 2014-09-12 16:19:07
這可能是錯誤的方法,但您可以始終啓動虛擬機並將硒服務器放在該服務器上,以便通過虛擬網絡層捕獲網絡流量。 – ydaetskcoR 2014-09-12 16:20:56