2011-03-18 14 views
6

私はテストでFirefoxを使用していますが、フラッシュボタンをクリックすると問題が発生します。私はフラッシュ要素のソースコードにアクセスすることができないので、フラッシュセレンまたはそれに類するものをテスト用に使用することはできません。C#でselenium2 webdriverで特定の座標をクリックする方法は?

現在のところ、私のソリューションは、Windows APIを使用したスクリーンショットを取得しています。スクリーンショットを処理して、ボタンをクリックすると、座標をクリックしてウィンドウAPIをクリックしてボタン座標を定義します。

しかし、このように、私は何かのために私のコンピュータを使用することはできません。私はwebdriver自身の機能とは違って、PCとのやりとりを待つ必要があります。

webdriverを使ってFirefoxページのスクリーンショットを取得しようとしています(実際には実行されています)。そのスクリーンショットでは、フラッシュボタンの領域座標を取得し、要素なしでクリックします。可能なセレンIDE、それはclickatのような機能でクリックすることはできませんまたは私は間違って何かをしています。

+0

これは、Cシャープ発音されます。どうしたの? – Rob

答えて

6

セレン2では、指定された座標にマウスを移動し、アドバンストユーザインタラクションAPIのMoveToOffsetActionを使用してクリックするとシミュレーションすることができます。これは現在まだ開発中で、FirefoxまたはInternet Explorerのドライバではまだサポートされていません。 http://code.google.com/p/selenium/wiki/AdvancedUserInteractions

+0

htmlunitにはフラッシュがサポートされていますか?それともスクリーンショットにそれを表示する能力があるのでしょうか? – motto

+1

htmlunitは完全にヘッドレスで、スクリーンショットやフラッシュ機能はありません。 –

0

あなたはJavaでそれを行うことができ、次のとおりです:高度なユーザー相互作用のAPIの

詳細は、プロジェクトの公式wikiページで見つけることができ

Actions uploadbtn = new Actions(driver); 
uploadbtn.moveToElement(addfile, 518, 558).click().build().perform(); 

where X co-ordinates=518 
and Y Co-ordinates=558 
関連する問題