2011-07-27 31 views
1

RubyでFirefox Webdriverのマウスを作成しようとしています。これまでのところ成功していません。Selenium Webdriver Mouse

@driver = Selenium::WebDriver.for :firefox, :profile => profile 
@mouse = Selenium::WebDriver::Mouse.new(@driver) 
@mouse.click(@driver.find_element :css => 'li:nth-child(1)') 

間違い

test_add_course(ItemAutocompleteTest): 
NoMethodError: undefined method 
mouseMoveTo for #<Selenium::WebDriver::Driver:0x7fa66e372b18 browser=:firefox> 
/usr/lib/ruby/gems/1.8/gems/selenium-webdriver-0.2.1/lib/selenium/webdriver/common/mouse.rb:50:in move_to 
/usr/lib/ruby/gems/1.8/gems/selenium-webdriver-0.2.1/lib/selenium/webdriver/common/mouse.rb:60:in move_if_needed 
/usr/lib/ruby/gems/1.8/gems/selenium-webdriver-0.2.1/lib/selenium/webdriver/common/mouse.rb:12:in click 
test/selenium_2/item_autocomplete_test.rb:36:in test_add_course 
mocha (0.9.8) lib/mocha/integration/test_unit/ruby_version_186_and_above.rb:19:in __send__ 
mocha (0.9.8) lib/mocha/integration/test_unit/ruby_version_186_and_above.rb:19:in run 

1 tests, 0 assertions, 0 failures, 1 errors 
ここ

のトレースバック私は同様の問題に https://gist.github.com/967333

を発見した任意の提案をありがとう!

+1

なぜあなたはこれをやっていますか?標準の.clickコマンドは、アクションインプリメンテーションと同様にマウス実装を使用します(ただし、アクションがルビーで実装されているかどうかわかりません)。 Mouseの実装は、実際には外部使用のために設計されていません。 – Ardesco

+0

私はちょうどwebdriverが提供しなければならないものから利益を得たいと思っていました。アイテムをダブルクリックする必要があるとしましょう。マウスが初期化されない理由は問題ですか?ありがとう! – Yulia

答えて

3

あなたはMouse classがドキュメント内で非公開としてマークされていることに気づくでしょう。公開APIの一部ではありません。先進的なユーザーとの対話を使用するには、基本的には、代わりにActionBuilderを見てみたい:

driver.action.key_down(:shift). 
       click(element). 
       double_click(second_element). 
       key_up(:shift). 
       drag_and_drop(element, third_element). 
       perform 

私はwiki pageこのに関するセクションを追加します。

+0

これはまさに私が探していたものです!コミュニティを助けてくれてありがとう! – Yulia

+0

セレンには特定のマウス座標でクリックする機能がありますか?私は自動クリックを引き起こす必要がありますが、私はブラウザ環境の外でそれを行う必要があります。非常に珍しいケースです。 –

+0

ブラウザ外でのクリックはサポートしていません。 – jarib