根据硒文档,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