2015
May
24

网页好读版

Firefox Profile 是用来指定 firefox 的设定档,透过 profile 我们可以用来停用部分 browser 功能来实现自动化测试的功能,一般 selenium 会自动建立一个新的 Firefox Profile ,这个 profile 预设是不能用来下载档案的,如果你用 webdriver 来点击下载档案的功能,那么页面就会跳出一个确认视窗,然后页面就会卡在那里,这时我们就可以透过 profile 的设定,让下载档案这件事不需要点击确认。

如何建立一个 profile 呢,首先你可以去看 Mozilla 官方文件。

这里我建立好一个 profile 叫 "test_profile",你可以在网址列输入 about:config ,就能打开 Firefox 的所有设定,因为我想停用档案下载的确认视窗,那个功能设定值为 "browser.helperApps.neverAsk.saveToDisk" ,找到这个值,然后设定允许下载的档案类型,例如 Excel 档为 "application/vnd.ms-excel"。

接著程式要设定 "webdriver.firefox.profile" 的值,指定我们要用的 Profile 名称即可。

PHP webdriver
  1. $caps = DesiredCapabilities::firefox();
  2. $caps->setCapability("webdriver.firefox.profile", "test_profile");
  3. $driver = RemoteWebDriver::create("selenium url xxx", $caps, 5000);

另外 Facebook webdriver 也提供了另一个方式,可以即时设定 Firefox Profile。


Example
  1. $profile = new FirefoxProfile();
  2. $profile->setPreference(
  3. 'browser.helperApps.neverAsk.saveToDisk',
  4. 'application/vnd.ms-excel'
  5. );
  6. $profile->addExtension('firebug-2.0.1.xpi');
  7.  
  8. $caps = DesiredCapabilities::firefox();
  9. $caps->setCapability(FirefoxDriver::PROFILE, $profile);
  10. $driver = RemoteWebDriver::create($seleniumUrl, $caps, 5000);

相关文件

网页好读版