Selenyum belgelerine göre, web tarayıcısı istemcisi ile tarayıcı arasındaki etkileşimler JSON Wire Protocol aracılığıyla gerçekleştirilir. Temel olarak, python, ruby, java ne yazıyorsa, istemci web tarayıcısına JSON mesajlarını gönderir ve web tarayıcısı da JSON ile yanıt verir.JSON kablo protokol günlüklerini izleme
Bir selenyum testi çalıştırırken bu JSON mesajlarını görüntülemenin/yakalamanın/kaydetmenin bir yolu var mı?
(Python) Örneğin:
Ben (bu durumda Krom cinsinden) sürücü örneğini zaman JSON mesajları istemcisi ve bir tarayıcı webdriver piton selenyum arasındaki gidiyoruz görmek istiyorumfrom selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://google.com')
driver.close()
: webdriver.Chrome()
, Bir sayfa aldığımda: driver.get('http://google.com')
ve kapattığım zaman: driver.close()
.
Bilginize, #SFSE: Stripping Down Remote WebDriver eğitimde, bu komut çalıştıran yerel makine ve uzak selenyum sunucusu arasındaki ağ trafiğini yakalama aracılığıyla yapılır.
Sorunu Python
olarak etiketledim, ancak gerçekten herhangi bir işaretçi ile mutlu olurdum.
[Selenium Webdriver API dökümantasyonu] 'na (http://selenium-python.readthedocs.org/api.html) bakarak, kütüphaneyi kullanmanın ve JSON'u paylaştığının erişilebilir bir yolu yoktur. üretme/alıcı. Ayrıca, ağ trafiğini yakalamaya çalışmak için muhtemelen eğilmek istiyorum. – ydaetskcoR
@ydaetskcoR Teşekkür ederim, şu anda düşündüğüm şey şu ki, eğer hem istemci hem de gerçek sürücü yerel makinede çalışıyorsa emin olun. Başka seçenekler varsa topluluğa sormaya karar verdim. – alecxe
Muhtemelen yanlış bir yaklaşımdır, ancak bir VM'yi her zaman döndürüp bir selenyum sunucusu yerleştirerek ağ trafiğini sanal ağ katmanı üzerinden yakalayabilirsiniz. – ydaetskcoR