2011-08-03 10 views
1

セレン2の高度なユーザーインタラクションAPI(http://code.google.com/p/selenium/wiki/AdvancedUserInteractions)を使用してカスタムコンテキストメニューを開く際に問題が発生しました。ここでContext click in Selenium 2.2

は、C#のコードです:

var driver = new FirefoxDriver(); 
driver.Navigate().GoToUrl("http://www.flickr.com/photos/davidcampbellphotography/4581594452/"); 
IWebElement photoDiv = driver.FindElement(By.Id("photo")); 

Actions actions = new Actions(driver); 
var context = actions.ContextClick(photoDiv).Build(); 
context.Perform(); 

はまだこのコードは、オープンコンテキストメニューをではなく、単に画像をクリック。

this blogpostのように、まだ多くの他のやり取りがうまくいきます。

Windows XP、Seleniumバージョン2.2でFirefox 5を使用しています。

ご協力いただきありがとうございます。

更新: ただし、hereのコードは同じです(コンテキストクリックではなく左クリック)。

ILocatable loc = (ILocatable)photoDiv; 
IMouse mouse = ((IHasInputDevices)driver).Mouse; 
mouse.ContextClick(loc.Coordinates); 
mouse.MouseMove(loc.Coordinates, 15, 15); 

バグのようです。

答えて

1

これはthat bugのようです。 ユーザーグループhereに記載されていますが、バグは約ダブルクリックです。

2

は、彼らがそうすることの最も効率的な方法ではないですが、あなたは、ロボットのクリックを使用してみましたが、しかし限り、ブラウザウィンドウが最上位ウィンドウであるとして、それはあなたが

Robot robot = new Robot(); 
    robot.mouseMove(650, 590); 
    robot.mousePress(InputEvent.BUTTON1_MASK); 
    robot.mouseRelease(InputEvent.BUTTON1_MASK); 
を設定する座標をクリックします

多分、これはあなたに役立ちます:-)

+0

ありがとう!私はSeleniumをインストールしてチェックアウトし、コードを再テストしてバグがまだ存在するかどうかを確認します。数日後に報告する:) –