您的位置:首页 > 其它

Selenium FF WebDriver运行时开启firebug的2种方式

2014-10-21 13:17 357 查看
上一次我实测FF webdriver 加载firefox/article/4969963.html

那么问题就来了,既然能加载firebug能否在运行时候直接激活firebug

效果如下:



针对这个情况,我们有两种solutions

方法1:使用firebug的快捷键F12激活firebug

不过这需要使用Actions class 的sendKeys method,使用sendKeys方法别忘了添加perform() 方法 否则不执行的

File file=new File("C:\\webdriver\\firebug-2.0.4-fx.xpi");//设置Firebug路径
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 2);
profile.setPreference("network.proxy.autoconfig_url", "http://proxy.successfactors.com:8083"); //自动代理配置

try {
//add firebug
profile.addExtension(file);
profile.setPreference("extensions.firebug.currentVersion", "2.0.4");//设置firebug 版本

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WebDriver driver = new FirefoxDriver(profile);

driver.get("http://www.dbyl.cn");
Actions actions=new Actions(driver);
//F12 is a short cut of active firebug
//do not forget perform
actions.sendKeys(Keys.F12).perform();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);


另外一种方法是直接使用Firefox的setPreference

我们注意到:FF 的extensions.firebug.allPagesActivation设置为ON,firebug会被active



File file=new File("C:\\webdriver\\firebug-2.0.4-fx.xpi");//设置Firebug路径
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 2);
profile.setPreference("network.proxy.autoconfig_url", "http://proxy.successfactors.com:8083"); //自动代理配置

try {
//add firebug
profile.addExtension(file);
profile.setPreference("extensions.firebug.currentVersion", "2.0.4");//设置firebug 版本
//active firebug extensions
profile.setPreference("extensions.firebug.allPagesActivation", "on");

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WebDriver driver = new FirefoxDriver(profile);

driver.get("http://www.dbyl.cn");
Actions actions=new Actions(driver);

driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: