2016-12-21 5 views
0

Я работаю с selenium 2.53, Java 1.8, Appium 1.5.3 для автоматизации собственных мобильных приложений. Теперь у меня есть условие, когда длина страницы слишком велика, и я должен щелкнуть в нижней части страницы. Если я прокручиваю страницу вниз вручную, пока тесты выполняются, прежде чем нажимать на автоматизацию - щелчок работает нормально. Но я не могу прокручивать страницу с помощью кода. Я пробовал много разных кодовых наборов. прямо сейчас я пробую код ниже. Но это тоже не работает.Невозможно прокручивать и нажимать, поскольку элемент не отображается в селене с помощью мобильного приложения для мобильного Android.

Теперь возникает вопрос: как мы можем прокрутить страницу собственного приложения к определенному элементу и нажать на этот элемент?

JavascriptExecutor js = driver; 
element = driver.findElement(getMethodToCall(object, byCall)); 
HashMap<String, String> scrollObject = new HashMap<String, String>(); 
scrollObject.put("direction", "down"); 
scrollObject.put("element", ((RemoteWebElement) element).getId()); 
js.executeScript("mobile: scroll", scrollObject); 

ответ

0

Я сталкивался с подобной ситуацией при прокрутке вниз, и использовать салфетки и TouchActions, оба из которых работали нормально в моем случае.

Размах:

driver.swipe(startX, startY, endX, endY, duration); 

TouchActions:

TouchAction touchAction = new TouchAction(driver); 
touchAction.press(startX, startY).moveTo(endX, endY).release().perform(); 

Для обоих этих, я использовал это в цикле до того времени, я вижу объект, который я хочу нажать это отображается на экране.