如何在Selenium WebDriver(Selenium 2)中运行Firebug?

26

当运行Selenium 2时,激活Firefox中的Firebug最佳方法是什么?

编辑:好的,我意识到“最佳”是可以解释的,但是基于配置文件的解决方案在selenium 1.0中确实很痛苦。因此,任何替代方案都被认为比之前更好,除非证明更差 ;)

9个回答

47
你可以在代码中创建个人资料,并动态添加所需的插件。假设你已经将 Firebug XPI 文件保存在 C:\FF_Profile 文件夹中,文件名为 firebug.xpi (前往Firebug 下载页面,右键单击“添加到 Firefox”并保存到 C:\ FF_Profile \ firebug.xpi)。
在代码中:
   final String firebugPath = "C:\\FF_Profile\\firebug.xpi";
   FirefoxProfile profile = new FirefoxProfile();       
   profile.addExtension(new File(firebugPath));
   // Add more if needed
   WebDriver driver = new FirefoxDriver(profile);

这在WebDriver FAQ中有详细描述。


这太棒了,如果可以的话我会给它加上+100分。仅此一项就值得迁移到Selenium2。 - krosenvold
在Selenium2中有很多东西值得花时间进行迁移。个人认为,页面对象模式非常方便,使动态/AJAX Web应用程序的测试变得更加容易。所以我真的很喜欢WebDriver :) - Sergii Pozharov
5
您还需要添加 firefoxProfile.setPreference("extensions.firebug.currentVersion", "1.8.1")(或您使用的任何版本)以便禁止 FireBug 的启动页面显示。 - iCollect.it Ltd
1
当我运行上述代码时,会打开另一个标签页,其中包含URL https://getfirebug.com/firstrun#Firebug%202.0.1 但是我想在同一个浏览器窗口中打开Firebug Inspector以从Net部分/选项卡获取数据。 - Ripon Al Wasim

10

您是否是指在webdriver启动的浏览器实例中安装Firebug?如果是这样,您可以在实例化驱动程序时传递一个扩展,但最简单的方法是创建一个已安装Firebug的Firefox配置文件,然后在实例化驱动程序之前使用以下代码:

System.setProperty("webdriver.firefox.profile", "NAME_OF_FIREFOX_PROFILE_WITH_FIREBUG");


这或多或少是在1.0中完成的方式,当Firefox升级时总是会变得麻烦。我真的很想传入扩展程序.... - krosenvold

1

只需要通过名称引用您的个人资料。例如,Ruby代码示例:

@driver = Selenium::WebDriver.for :firefox, :profile => "default"

然后,正常加载Firefox,并添加所需的扩展程序。它们现在将显示在您的Selenium测试运行中。


1

显然,在Selenium WebDriver中,firefox-profile选项的使用方式已经发生了变化。

旧的命令行(Selenium RC):

java -jar selenium-2.28.0.jar -firefoxProfileTemplate ~/.mozilla/firefox/3knu5vz0.selenium

更新WebDriver:(请注意,它需要配置文件的名称而不是目录)

java -jar selenium-2.28.0.jar -Dwebdriver.firefox.profile=selenium

0

我注意到Firebug会添加到浏览器中,并且默认情况下是禁用的。当我在运行时使用WebDriver将Firebug添加到Firefox中时,它仍然没有启用。因此,为了使其启用,我们可能需要将以下行添加到配置文件中。

profile.setEnableNativeEvents(true);

0

如果以上选项都不起作用,请尝试以下方法。

  • 1)打开终端并输入以下命令(首先关闭所有现有的Firefox会话)

firefox -p

  • 2)这将打开一个选项来创建新的Firefox配置文件。
  • 3)创建一个名为“SELENIUM”的配置文件。
  • 4)一旦Firefox打开,立即安装Firebug或任何其他插件扩展。完成后关闭窗口。
  • 5)现在通过Selenium加载此新配置文件,使用以下Java语句。

    ProfilesIni profile = new ProfilesIni();

    FirefoxProfile ffprofile = profile.getProfile("SELENIUM");

    WebDriver driver = new FirefoxDriver(ffprofile);

  • 6)完成。享受吧。


0

修改Firefox的位置,例如:C:\Users\user-name\AppData\Roaming\Mozilla\Firefox\Profiles\sgmqi7hy.default,在Selenium/Webdriver中启动Firefox浏览器,进行所需的所有设置,然后关闭并重新启动Firefox浏览器。就这样,它可以解决您的问题!!


0
我在 ~/.mozialla/firefox/ 中找到了一个 profiles.ini 文件。里面有一个名为 default 的配置文件,我将其指定为以下内容,然后 Firefox 就像平常一样打开了 test(包括所有插件等)。
java -jar selenium.jar -Dwebdriver.firefox.profile=default

-2
假设已经安装了Firebug。您的目标是运行Firebug。按F12键可以运行/执行Firebug。因此,可以通过以下Selenium WebDriver和Java命令来运行Firebug:
Actions action = new Actions(driver);
action.sendKeys(Keys.F12).build().perform();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接