Selenium WebDriver - How to Holds down the RIGHT mouse button?

南楼画角 提交于 2019-12-06 05:52:32

问题


Using Selenium 2.0 WebDriver (java), I need to test some navigation (rotate, pan...)

I need to be able to Holds down the RIGHT button while moving the mouse.

Similarly, I need to be able to holds down the MIDDLE button while moving the mouse.

It seems to be possible only with the LEFT button.

Actions actions = new Actions(driver);
actions.clickAndHold().perform();

Following question, i'm not dealing with any menu, button, widget but with a 3D Environment like GoogleMap where I need to simulate pan, rotate and zoom using MIDDLE button, RIGHT button and even Mouse wheel...

Any Help?


回答1:


You can use robot class to perform same. For Right click use Button3 and for middle use Button2

Code for Right click

Robot robot=new Robot();
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);

Code for Middle Button

Robot robot=new Robot();
robot.mousePress(InputEvent.BUTTON2_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON2_DOWN_MASK);



回答2:


If its not a browser or windows menu ,If its a something like a web context menu you can use following code its in c# java must be similar

Actions actions = new Actions(WebDriver);
actions.ContextClick(webElement)
                                               .SendKeys(Keys.Down)
                                               .SendKeys(Keys.Down)
                                               .Build()
                                               .Perform();

you can use a combination of actions.ClickAndHold() and actions.MoveToElement() to create a drag effect , I use these to move portal widgets

Please tell me what type of menu you are working on



来源:https://stackoverflow.com/questions/19837380/selenium-webdriver-how-to-holds-down-the-right-mouse-button

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!