类org.openqa.selenium.interactions.HasTouchScreen源码实例Demo

下面列出了怎么用org.openqa.selenium.interactions.HasTouchScreen的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: xframium-java   文件: NumberPickerSetMethod.java
private void clickAt( WebElement webElement, WebDriver webDriver, int x, int y )
{
    if ( webElement != null )
    {

        Dimension elementSize = webElement.getSize();

        int useX = (int) ((double) elementSize.getWidth() * ((double) x / 100.0)) + webElement.getLocation().getX();
        int useY = (int) ((double) elementSize.getHeight() * ((double) y / 100.0)) + webElement.getLocation().getY();


        if ( ((DeviceWebDriver) webDriver).getNativeDriver() instanceof AppiumDriver )
        {
            new TouchAction( (AppiumDriver) ((DeviceWebDriver) webDriver).getNativeDriver() ).press( PointOption.point( useX, useY ) ).perform();
        }
        else if ( ((DeviceWebDriver) webDriver).getNativeDriver() instanceof RemoteWebDriver )
        {
            if ( ((DeviceWebDriver) webDriver).getNativeDriver() instanceof HasTouchScreen )
                new TouchActions( webDriver ).move( useX, useY ).click().build().perform();
            else
                new Actions( webDriver ).moveByOffset(useX,  useY ).click().build().perform();
        }

    }
}
 
源代码2 项目: selenium   文件: DefaultSession.java
private Map<String, Object> getDescription(WebDriver instance, Capabilities capabilities) {
  DesiredCapabilities caps = new DesiredCapabilities(capabilities.asMap());
  caps.setJavascriptEnabled(instance instanceof JavascriptExecutor);
  if (instance instanceof TakesScreenshot) {
    caps.setCapability(CapabilityType.TAKES_SCREENSHOT, true);
  }
  if (instance instanceof LocationContext) {
    caps.setCapability(CapabilityType.SUPPORTS_LOCATION_CONTEXT, true);
  }
  if (instance instanceof ApplicationCache) {
    caps.setCapability(CapabilityType.SUPPORTS_APPLICATION_CACHE, true);
  }
  if (instance instanceof NetworkConnection) {
    caps.setCapability(CapabilityType.SUPPORTS_NETWORK_CONNECTION, true);
  }
  if (instance instanceof WebStorage) {
    caps.setCapability(CapabilityType.SUPPORTS_WEB_STORAGE, true);
  }
  if (instance instanceof Rotatable) {
    caps.setCapability(CapabilityType.ROTATABLE, true);
  }
  if (instance instanceof HasTouchScreen) {
    caps.setCapability(CapabilityType.HAS_TOUCHSCREEN, true);
  }
  return caps.asMap();
}
 
源代码3 项目: vividus   文件: DelegatingWebDriver.java
@Override
public TouchScreen getTouch()
{
    if (wrappedDriver instanceof HasTouchScreen)
    {
        return ((HasTouchScreen) wrappedDriver).getTouch();
    }
    throw new UnsupportedOperationException(ADVANCED_INTERACTION_NOT_SUPPORTED);
}
 
源代码4 项目: vividus   文件: DelegatingWebDriverTests.java
@Test
void testGetTouch()
{
    WebDriver driverWithTouchScreen = Mockito.mock(WebDriver.class,
            withSettings().extraInterfaces(HasTouchScreen.class));
    TouchScreen touchScreen = Mockito.mock(TouchScreen.class);
    when(((HasTouchScreen) driverWithTouchScreen).getTouch()).thenReturn(touchScreen);
    assertEquals(touchScreen, new DelegatingWebDriver(driverWithTouchScreen).getTouch());
}
 
源代码5 项目: xframium-java   文件: DeviceWebDriver.java
@Override
public TouchScreen getTouch()
{
    setLastAction();
    if ( webDriver instanceof HasTouchScreen )
        return ((HasTouchScreen) webDriver).getTouch();
    else
        return null;
}
 
源代码6 项目: xframium-java   文件: SeleniumElement.java
public boolean _moveTo()
{
  WebElement webElement = getElement();
  if (webElement != null && webElement.getSize().getHeight() > 0 && webElement.getSize().getWidth() > 0)
  {
    if (getWebDriver() instanceof HasInputDevices)
    {
      if (isTimed())
        getActionProvider().startTimer((DeviceWebDriver) getWebDriver(), this, getExecutionContext());

      if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof AppiumDriver)
      {
        new TouchAction((AppiumDriver) ((DeviceWebDriver) getWebDriver()).getNativeDriver()).moveTo(createPoint(webElement)).perform();
      }
      else if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof RemoteWebDriver)
      {
        if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof HasTouchScreen)
          new TouchActions(getWebDriver()).moveToElement(webElement).build().perform();
        else
          new Actions(getWebDriver()).moveToElement(webElement).build().perform();
      }

      return true;
    }
  }

  return false;
}
 
源代码7 项目: xframium-java   文件: SeleniumElement.java
public boolean _press()
{
  WebElement webElement = getElement();
  if (webElement != null && webElement.getSize().getHeight() > 0 && webElement.getSize().getWidth() > 0)
  {
    if (getWebDriver() instanceof HasInputDevices)
    {
      if (isTimed())
        getActionProvider().startTimer((DeviceWebDriver) getWebDriver(), this, getExecutionContext());

      if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof AppiumDriver)
      {
        new TouchAction((AppiumDriver) ((DeviceWebDriver) getWebDriver()).getNativeDriver()).press(createPoint(webElement)).perform();
      }
      else if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof RemoteWebDriver)
      {
        if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof HasTouchScreen)
          new TouchActions(getWebDriver()).clickAndHold(webElement).build().perform();
        else
          new Actions(getWebDriver()).clickAndHold(webElement).build().perform();
      }

      return true;
    }
  }

  return false;
}
 
源代码8 项目: xframium-java   文件: SeleniumElement.java
public boolean _mouseDoubleClick()
{
  WebElement webElement = getElement();
  if (webElement != null && webElement.getSize().getHeight() > 0 && webElement.getSize().getWidth() > 0)
  {
    if (getWebDriver() instanceof HasInputDevices)
    {
      if (isTimed())
        getActionProvider().startTimer((DeviceWebDriver) getWebDriver(), this, getExecutionContext());

      if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof AppiumDriver)
      {
        new TouchActions((AppiumDriver) ((DeviceWebDriver) getWebDriver()).getNativeDriver()).doubleTap(webElement).perform();
      }
      else if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof RemoteWebDriver)
      {
        if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof HasTouchScreen)
          new TouchActions(getWebDriver()).doubleClick().build().perform();
        else
          new Actions(getWebDriver()).doubleClick(webElement).build().perform();
      }

      return true;
    }
  }

  return false;
}
 
源代码9 项目: xframium-java   文件: SeleniumElement.java
public boolean _release()
{
  WebElement webElement = getElement();
  if (webElement != null && webElement.getSize().getHeight() > 0 && webElement.getSize().getWidth() > 0)
  {
    if (getWebDriver() instanceof HasInputDevices)
    {
      if (isTimed())
        getActionProvider().startTimer((DeviceWebDriver) getWebDriver(), this, getExecutionContext());

      if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof AppiumDriver)
      {
        new TouchAction((AppiumDriver) ((DeviceWebDriver) getWebDriver()).getNativeDriver()).release().perform();
      }
      else if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof RemoteWebDriver)
      {
        if (((DeviceWebDriver) getWebDriver()).getNativeDriver() instanceof HasTouchScreen)
          new TouchActions(getWebDriver()).release().build().perform();
        else
          new Actions(getWebDriver()).release().build().perform();
      }
      return true;
    }
  }

  return false;
}
 
源代码10 项目: selenium   文件: TouchActions.java
public TouchActions(WebDriver driver) {
  super(driver);
  if (driver instanceof HasTouchScreen) {
    this.touchScreen = ((HasTouchScreen) driver).getTouch();
  } else {
    this.touchScreen = null;
  }
}
 
源代码11 项目: selenium   文件: EventFiringWebDriver.java
@Override
 public TouchScreen getTouch() {
   if (driver instanceof HasTouchScreen) {
     return new EventFiringTouch(driver, dispatcher);
   }
   throw new UnsupportedOperationException("Underlying driver does not implement advanced"
       + " user interactions yet.");
}
 
源代码12 项目: selenium   文件: ThreadGuardTest.java
@Test
public void testInterfacesProxiedProperly() {
  WebDriver actual = mock(WebDriver.class,
                          withSettings().extraInterfaces(HasTouchScreen.class));
  final WebDriver webdriver = ThreadGuard.protect(actual);
  HasTouchScreen hasTouchScreen = (HasTouchScreen) webdriver;
  assertThat(hasTouchScreen).isNotNull();
}
 
源代码13 项目: selenium   文件: SingleTapOnElement.java
@Override
public Void call() {
  TouchScreen touchScreen = ((HasTouchScreen) getDriver()).getTouch();
  WebElement element = getKnownElements().get(elementId);
  Coordinates elementLocation = ((Locatable) element).getCoordinates();

  touchScreen.singleTap(elementLocation);

  return null;
}
 
源代码14 项目: selenium   文件: Down.java
@Override
public Void call() {
  TouchScreen touchScreen = ((HasTouchScreen) getDriver()).getTouch();

  touchScreen.down(x, y);

  return null;
}
 
源代码15 项目: selenium   文件: Flick.java
@Override
public Void call() {
  TouchScreen touchScreen = ((HasTouchScreen) getDriver()).getTouch();

  if (elementId != null) {
    WebElement element = getKnownElements().get(elementId);
    Coordinates elementLocation = ((Locatable) element).getCoordinates();
    touchScreen.flick(elementLocation, xOffset, yOffset, speed);
  } else {
    touchScreen.flick(xSpeed, ySpeed);
  }

  return null;
}
 
源代码16 项目: selenium   文件: Up.java
@Override
public Void call() {
  TouchScreen touchScreen = ((HasTouchScreen) getDriver()).getTouch();

  touchScreen.up(x, y);

  return null;
}
 
源代码17 项目: selenium   文件: DoubleTapOnElement.java
@Override
public Void call() {
  TouchScreen touchScreen = ((HasTouchScreen) getDriver()).getTouch();
  WebElement element = getKnownElements().get(elementId);
  Coordinates elementLocation = ((Locatable) element).getCoordinates();

  touchScreen.doubleTap(elementLocation);

  return null;
}
 
源代码18 项目: selenium   文件: LongPressOnElement.java
@Override
public Void call() {
  TouchScreen touchScreen = ((HasTouchScreen) getDriver()).getTouch();
  WebElement element = getKnownElements().get(elementId);
  Coordinates elementLocation = ((Locatable) element).getCoordinates();
  touchScreen.longPress(elementLocation);

  return null;
}
 
源代码19 项目: selenium   文件: Move.java
@Override
public Void call() {
  TouchScreen touchScreen = ((HasTouchScreen) getDriver()).getTouch();

  touchScreen.move(x, y);

  return null;
}
 
源代码20 项目: selenium   文件: Scroll.java
@Override
public Void call() {
  TouchScreen touchScreen = ((HasTouchScreen) getDriver()).getTouch();

  if (elementId != null) {
    WebElement element = getKnownElements().get(elementId);
    Coordinates elementLocation = ((Locatable) element).getCoordinates();
    touchScreen.scroll(elementLocation, xOffset, yOffset);
  } else {
    touchScreen.scroll(xOffset, yOffset);
  }
  return null;
}
 
源代码21 项目: selenium   文件: EventFiringTouch.java
public EventFiringTouch(WebDriver driver, WebDriverEventListener dispatcher) {
  this.driver = driver;
  this.dispatcher = dispatcher;
  this.touchScreen = ((HasTouchScreen) this.driver).getTouch();
}
 
源代码22 项目: selenium   文件: TouchTestBase.java
@Before
public void checkHasTouchScreen() {
  assumeThat(driver).isInstanceOf(HasTouchScreen.class);
}
 
 类所在包
 同包方法