2017-02-17 12 views
1

Я хотел бы спросить, когда мы используем сенсорное действие в Апиуме. Я также хочу спросить: можем ли мы использовать действие касания, чтобы нажать/нажать элемент android.widget.EditText и отправитьKeys на него. Могу ли я иметь работоспособный пример, чтобы проверить его?Appium - Когда мы используем сенсорное действие? Могу ли я иметь фактический пример для ввода текста с ним?

+0

находится ниже решение работает? – Vinod

+0

Не совсем. Я мог бы найти кнопку, чтобы щелкнуть, однако есть проблема другого, я не могу отправитьKeys в textField: http://stackoverflow.com/questions/42271992/appium-1-6-sendkeys-to-edittext-failed I может получить клавиатуру, но я не могу отправитьKeys, потому что элементы никогда не будут нажаты. –

+0

Можете ли вы использовать последние две строки кода в нижнем ответе? Это должно решить вашу проблему. Не отправляйте ключи непосредственно элементу. Просто нажмите на него, а затем используйте driver.getKeyboard(). SendKeys ("textToBeTyped"); – Vinod

ответ

1

Мы используем действие касания всякий раз, когда хотим щелкните/коснитесь на конкретном элементе устройства.

Для Щелкнува

Вы можете использовать сенсорное действие для EditText элемента в bewlow:

driver.findElement(By.xpath("your element xpath/id")).click(); 

Для Typing

Кроме того, Вы можете использовать SendKeys для EditText элемента, как показано ниже: Это внутреннее нажатие на элемент, очищает текст и набирает строку, которую вы отправляете.

driver.findElement(By.xpath("your element xpath/id")).sendKeys("textToBeTyped"); 

ИЛИ

Вы можете нажать и отправить ключи отдельно, не очищая существующий текст внутри текстового элемента, как показано ниже:

driver.findElement(By.xpath("your element xpath/id")).click(); 
driver.getKeyboard().sendKeys(textToBeTyped); 
1
1.public void tap(int fingers, int x, int y, int duration) { 
     appiumDriver.tap(fingers, x, y, duration); 
    } 

2. public void swipe(int startx, int starty, int endx,int endy,int duration) 
    { 
     TouchAction touchAction = new TouchAction(appiumDriver); 
     System.out.println(startx+" "+starty); 
     System.out.println("Entering swipe"); 

      System.out.println("Swipe from "+startx +" " +starty +"to" +endx +" " +endy); 
      touchAction.press(startx, starty).waitAction(duration).moveTo(endx,endy).release().perform(); 
    } 

3. public void longClick(String element, int index, int clickCount, int X, int Y) { 
    WebElement webElement = appiumDriver.findElement(By.xpath(element)); 

     TouchAction Action = new TouchAction(appiumDriver); 
     Action.longPress(webElement).release().perform(); 

    } 

4. public void drag(String element, int index, int xOffset, int yOffset) { 
     WebElement webElement = appiumDriver.findElement(By.xpath(element)); 
     TouchAction drag=new TouchAction(appiumDriver); 

     int startX=webElement.getLocation().getX(); 
     int startY=webElement.getLocation().getY(); 

     System.out.println("startX: "+startX+" startY: "+startY); 
     drag.press(startX,startY).moveTo(xOffset,yOffset).release().perform(); 

     try { 
      Thread.sleep(5000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 

 Смежные вопросы

  • Нет связанных вопросов^_^