Selenium webdriver 如何从Selenium WebDriver驱动Firebug

Selenium webdriver 如何从Selenium WebDriver驱动Firebug,selenium-webdriver,firebug,Selenium Webdriver,Firebug,我想在通过WebDriver运行测试时捕获Firebug的网络面板输出。我正在考虑使用NetExport将信息转储到har文件中。当使用“driver.get()”显示特定页面时,如何激活Firebug进行导出?除了Firebug和NetExport之外,您还需要Firestarter扩展。以下是我在Ruby中的实现方式: profile = Selenium::WebDriver::Firefox::Profile.new profile.add_extension "path/to/fir

我想在通过WebDriver运行测试时捕获Firebug的网络面板输出。我正在考虑使用NetExport将信息转储到har文件中。当使用“driver.get()”显示特定页面时,如何激活Firebug进行导出?

除了Firebug和NetExport之外,您还需要Firestarter扩展。以下是我在Ruby中的实现方式:

profile = Selenium::WebDriver::Firefox::Profile.new

profile.add_extension "path/to/firebug.xpi"
profile.add_extension "path/to/fireStarter.xpi"
profile.add_extension "path/to/netExport.xpi")

profile['extensions.firebug.currentVersion']    = "1.7.0a3" # avoid 'first run' tab
profile["extensions.firebug.previousPlacement"] = 1
profile["extensions.firebug.onByDefault"]       = true
profile["extensions.firebug.defaultPanelName"]  = "net"
profile["extensions.firebug.net.enableSites"]   = true

profile["extensions.firebug.netexport.defaultLogDir"]          = output_dir
profile["extensions.firebug.netexport.alwaysEnableAutoExport"] = true

driver = Selenium::WebDriver.for :firefox, :profile => profile
Java中可以使用等价的API。确保这些扩展彼此兼容(以及您的Firefox版本)


如果您正在使用Ruby(或者只是想从命令行快速启动HAR查看器),请查看my,以获取稍后处理数据的简便方法。

要使用Java在Selenium WebDriver中运行Firebug:

Actions action = new Actions(driver);
action.sendKeys(Keys.F12).build().perform();

非常感谢您的指导@jarib。但是我无法让FirefoxDriver添加任何扩展。我再也看不到“1.7.0a3”扩展了(所有1.7的东西都称为1.7X.0a?,我下载了1.7X.0a3并将版本设置为相同)。addExtension方法也没有引发异常。有人使用Java成功加载firebug扩展吗?如前所述,XPIs必须彼此兼容,并且与您当前的Firefox版本兼容——仅仅因为我使用了1.7并不意味着它适合您。因此,首先手动安装它们,确保一切正常。FirefoxProfile.addExtension不会在不兼容的情况下抛出错误(它只是将文件复制到正确的位置),Firefox只会忽略不兼容的扩展名。我现在就可以使用它了。我在其中一个选项上打错了。我还需要在“driver.get()”调用后添加3秒的睡眠时间,以获取netexport来保存日志。非常感谢。我说得太快了。这只是行为不稳定。有时输出会被写出来,但有时不会(大多数情况下不会)。我发现,由于某种原因,Net面板显示第一个请求从未完成,例如,如果我转到“faban.org”,firebug会显示“Get faban.org”,并在“Timeline”列中显示一个旋转图标。这在许多不同的网站上都会发生,当它发生时,我不会得到一个har文件。有什么问题?你用的是什么语言?java、C#还是什么?