Selenium:Webdriver:是否有一个监听器来捕获WebDriver启动的浏览器会话中的用户操作?

Rex*_*Rex 5 selenium webdriver selenium-ide selenium-webdriver

我正在尝试使用Selenium2/Webdriver创建一个基本的录制工具,我知道Selenium已经提供了一个IDE,但我想构建一个更通用的.

更具体地说,一旦我在java中使用WebDiver API启动浏览器,我想在当前会话中注册一个监听器,这样我就可以捕获用户与WebDriver启动的浏览器的交互.基本上如果我用Java编写记录用户交互,我该怎么办呢?与EventFiringWebDriver类非常相似,但此类在驱动程序启动命令而不是borwser会话时通知侦听器.

例如,假设我使用以下命令启动浏览器:

WebDriver driver = new FirefoxDriver();

现在有一个空白的Firefox浏览器打开,它说底部的WebDriver是红色的.现在假设我在此浏览器中输入www.google.com并按Enter键.浏览器会将我导​​航到google.com.我是否可以注册一个监听器,通知我此浏览器会话中发生的事件?

我感谢您的帮助.

小智 5

我对听众并不熟悉。我知道人们倾向于使用BrowserMob 代理之类的东西来充当中间人来捕获和重放 HTTP 操作。由于 WebDriver 使用 JSON Wire Protocol 运行,我认为这可能更适合您正在寻找的内容。

此外,Simon Stewart(WebDriver 的创建者)详细撰写了有关 Selenium WebDriver 项目的理念和架构的文章。你可以在这里看到。

干杯,戴夫 H