2011-07-20 9 views
11

私はあなたがいずれかの既存のFirefoxのプロファイルをロード、またはここで説明したように、セレンwebdriverを宝石でのRubyバインディングを使用して作成することができます知っている:Firefox Extensionへのアクセス方法Selenium Webdriverで追加しましたか?

http://code.google.com/p/selenium/wiki/RubyBindingsそして、任意の数を追加するためにadd_extensionを使用インスタンスへのFirefoxの拡張機能は、何ですか?私が使用している拡張機能のウィンドウは、テスト中に表示されません。どのように拡張機能を使用しますか?

ドライバがFirefoxを開いたときに、拡張機能をデフォルトで開いておく方法はありますか?ここで

は、私が使用しているコードです:

#!/usr/bin/env ruby 
require "rubygems" 
require "selenium-webdriver" 

default_profile = Selenium::WebDriver::Firefox::Profile.from_name "default" 
default_profile.add_extension("/Users/******/Library/Application Support/Firef\ 
ox/Profiles/wvon3h99.default/extensions/{9c51bd27-6ed8-4000-a2bf-36cb95c0c947}.\ 
xpi") 

driver = Selenium::WebDriver.for(:firefox, :profile => default_profile) 
driver.navigate.to "http://google.com" 

element = driver.find_element(:name, 'q') 
element.send_keys "Hello WebDriver!" 
element.submit 

puts driver.title 

driver.quit 
+0

サンプルコードで更新しました。 – Kotsu

答えて

1

それは、拡張子によって異なります。通常、拡張機能の動作は、FFプロファイルを作成するときに、適切なプロパティ(about:configで見つけることができるもの)を設定することによってある程度制御できます。 FFは、私は自分のコードに次の行含まれるであろう開始後、例えば、デフォルトで開いているFirebugのウィンドウを持っている:

default_profile["extensions.firebug.allPagesActivation"] = true 

拡張をI使用し、通常は自動的にサーバーにデータを送信したり保存し、自動エクスポート機能のいくつかの種類を持っていますそれはディスク上にある。 WebDriverで拡張機能を制御する方法がないので、すべての拡張機能が自動テストで使用できるわけではありません。

関連する問題