每次执行selenium WebDriver测试时,都会启动一个新的firefox profile,也就是一个全新的没有插件的浏览器。
那如果我想要把firebug和firepath插件添加到新启动的firefox里呢。
有两个方法可以实现
方法一:
从https://addons.mozilla.org/en-US/firefox/下载firebug-2.0.13-fx.xpi和firepath-0.9.7.1-fx.xp
下载的版本一定要和自己的firefox匹配。
File firebug = new File("D:\\ffxExtension\\firebug-2.0.13-fx.xpi");
File firepath = new File("D:\\ffxExtension\\firepath-0.9.7.1-fx.xpi");
FirefoxProfile profile = new FirefoxProfile();
try {
profile.addExtension(firebug);
profile.addExtension(firepath);
} catch (IOException e) {
e.printStackTrace();
}
profile.setPreference("extensions.firebug.allPagesActivation", "on");
//如果不设置以下属性除了get的页面还会打开https://getfirebug.com/firstrun#Firebug 2.0.13
profile.setPreference("extensions.firebug.currentVersion", "2.0.13");
WebDriver driver = new FirefoxDriver(profile);
driver.get("http://www.baidu.com");
方法二
创建新的profile(方法参照http://blog.csdn.net/qiyueqinglian/article/details/43053531)。
然后用这个新创建的profile手动打开firefox,添加firebug和firepath两个插件。然后关闭firefox,运行以下代码。
ProfilesIni pIni= new ProfilesIni();
FirefoxProfile fProfile=pIni.getProfile("addExtension");
fProfile.setPreference("extensions.firebug.allPagesActivation", "on");
WebDriver driver = new FirefoxDriver(fProfile);
driver.get("http://www.baidu.com");
一些相关的属性设置
//firebug打开时,console是默认显示panel
profile.setPreference("extensions.firebug.console.enableSites", "true");
profile.setPreference("extensions.firebug.defaultPanelName", "console");
//firebug打开时,console是默认显示net
profile.setPreference("extensions.firebug.defaultPanelName", "net");
profile.setPreference("extensions.firebug.net.enableSites", true);
//以下设置还不太清楚其作用
//profile.setPreference("extensions.firebug.previousPlacement", 1);
//profile.setPreference("extensions.firebug.netexport.defaultLogDir", "D:\\ffxExtension");
//profile.setPreference("extensions.firebug.netexport.alwaysEnableAutoExport", true);