2012-01-27 10 views
1

こんばんは、カピバラ+セレン/ Webkitの:DIV(レール/ RSpecの)*内の選択*

私はFLOTグラフが含まれているページのRSpecの/カピバラと要求仕様を設定しようとしています。私は、ユーザーがグラフ内のマークされた要素(ティック/データポイント)をクリックして続行するようにページを設定しました。明らかにグラフはJavascript(flot)で生成されます。

capybara/seleniumに特定のx/y位置をチャートdivでクリックさせる方法はありますか?私はテスト環境でデータポイントに当たるように、開発環境で評価することができます。

私はJavaScriptを使用して、このクリックイベントを生成する方法を発見した:

$(document.elementFromPoint(x, y)).click(); 

しかし、私は、これはRSpecの中で動作するように取得する方法はないと思います。私はより多くのようなものを探しています:それはどんな違いを

find(".overlay").click(top:10px; left:50px;) # click offset from the top and left of graph div 
response.body.should have_selector(# stuff that should show up on the page) 

わからない場合、私は何をしているのか...かつてのWebKitに切り替わります見ることができるように、私は、現時点でのWebKitの上にセレンを好みますテストは実行中です。

+0

私はちょうど手動で私は完全に混乱していないことを確認するためにたまにテストしますと仮定何かアップ! – Brandon

答えて

1

カピバラは例えば、ドライバーがそれをサポートしているときに、例えば、内からJavaScriptを実行できるようにする必要があります。

page.execute_script('$(document.elementFromPoint(10, 50)).click();')

+0

'; 'を' \; 'で二重引用符でエスケープします:' page.execute_script( "$(document.elementFromPoint(10、50))。click()\;" ' –

関連する問題