下面列出了怎么用org.openqa.selenium.interactions.Mouse的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void testDecoratingProxyImplementsRequiredInterfaces() {
final AllDriver driver = mock(AllDriver.class);
final AllElement element = mock(AllElement.class);
final Mouse mouse = mock(Mouse.class);
when(driver.getMouse()).thenReturn(mouse);
when(element.getCoordinates()).thenReturn(mock(Coordinates.class));
when(driver.findElement(By.id("foo"))).thenReturn(element);
Page page = new Page();
PageFactory.initElements(driver, page);
new Actions(driver).moveToElement(page.foo).build().perform();
verify(driver).getKeyboard();
verify(driver).getMouse();
verify(element).getCoordinates();
verify(mouse).mouseMove(any(Coordinates.class));
}
@Override
public Void call() {
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
Coordinates elementLocation = null;
if (elementProvided) {
WebElement element = getKnownElements().get(elementId);
elementLocation = ((Locatable) element).getCoordinates();
}
if (offsetsProvided) {
mouse.mouseMove(elementLocation, xOffset, yOffset);
} else {
mouse.mouseMove(elementLocation);
}
return null;
}
@Override
public Mouse getMouse()
{
if (wrappedDriver instanceof HasInputDevices)
{
return ((HasInputDevices) wrappedDriver).getMouse();
}
throw new UnsupportedOperationException(ADVANCED_INTERACTION_NOT_SUPPORTED);
}
@Test
void testGetMouse()
{
WebDriver driverWithInputDevices = Mockito.mock(WebDriver.class,
withSettings().extraInterfaces(HasInputDevices.class));
Mouse mouse = Mockito.mock(Mouse.class);
when(((HasInputDevices) driverWithInputDevices).getMouse()).thenReturn(mouse);
assertEquals(mouse, new DelegatingWebDriver(driverWithInputDevices).getMouse());
}
@Override
public Mouse getMouse()
{
setLastAction();
if ( webDriver instanceof HasInputDevices )
return ((HasInputDevices) webDriver).getMouse();
else
return null;
}
/**
* Forces a mouseDown event on the WebElement.
*/
public void mouseDown() {
TestLogging.log("MouseDown " + this.toString());
findElement();
final Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.mouseDown(null);
}
/**
* Forces a mouseOver event on the WebElement.
*/
public void mouseOver() {
TestLogging.log("MouseOver " + this.toString());
findElement();
// build and perform the mouseOver with Advanced User Interactions API
// Actions builder = new Actions(driver);
// builder.moveToElement(element).build().perform();
final Locatable hoverItem = (Locatable) element;
final Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.mouseMove(hoverItem.getCoordinates());
}
/**
* Forces a mouseUp event on the WebElement.
*/
public void mouseUp() {
TestLogging.log("MouseUp " + this.toString());
findElement();
final Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.mouseUp(null);
}
protected SingleKeyAction(Keyboard keyboard, Mouse mouse, Locatable locationProvider, Keys key) {
super(keyboard, mouse, locationProvider);
this.key = key;
boolean isModifier = false;
for (Keys modifier : MODIFIER_KEYS) {
isModifier = isModifier || modifier.equals(key);
}
if (!isModifier) {
throw new IllegalArgumentException("Key Down / Up events only make sense for modifier keys.");
}
}
@Override
public Mouse getMouse() {
if (driver instanceof HasInputDevices) {
return new EventFiringMouse(driver, dispatcher);
}
throw new UnsupportedOperationException("Underlying driver does not implement advanced"
+ " user interactions yet.");
}
@Override
public Void call() {
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
if (leftMouseButton) {
mouse.click(null);
} else {
mouse.contextClick(null);
}
return null;
}
@Override
public Mouse getMouse() {
return ((HasInputDevices) driver).getMouse();
}
@Override
public Mouse getMouse()
{
return ((HasInputDevices)driver).getMouse();
}
@Override
public Mouse getMouse() {
return driver.getMouse();
}
protected MouseAction(Mouse mouse, Locatable locationProvider) {
super(locationProvider);
this.mouse = mouse;
}
protected SingleKeyAction(Keyboard keyboard, Mouse mouse, Keys key) {
this(keyboard, mouse, null, key);
}
protected KeysRelatedAction(Keyboard keyboard, Mouse mouse, Locatable locationProvider) {
super(locationProvider);
this.keyboard = keyboard;
this.mouse = mouse;
}
@Override
public Mouse getMouse() {
return mouse;
}
@Override
public Mouse getMouse() {
return null;
}
@Override
public Void call() {
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
mouse.mouseDown(null);
return null;
}
@Override
public Void call() {
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
mouse.doubleClick(null);
return null;
}
@Override
public Void call() {
Mouse mouse = ((HasInputDevices) getDriver()).getMouse();
mouse.mouseUp(null);
return null;
}
Mouse getMouse();