2014-11-21 5 views
1

Я хочу, чтобы прокрутить вниз до нижней части страницы и сделать некоторые action.Using uiautomator я получил следующее:как прокручивать страницу вниз в appium

index=2, 
resource-id=com.manoramaonline.arogyam:id/pager,class=android.support.v4.view.ViewPager, 
scrollable=true. 

Пожалуйста, помогите мне сделать это.

Я пытаюсь с нижним кодом. Может ли кто-нибудь указать на проблему?

JavascriptExecutor js = (JavascriptExecutor) driver; 
RemoteWebElement element =(RemoteWebElement)driver.findElement(By.xpath(
"//android.support.v4.view.ViewPager[@resource-id='com.manoramaonline.arogyam:id/pager']"));  
HashMap<String, String> scrollObject = new HashMap<String, String>(); 
scrollObject.put("direction", "down"); 
//i am getting error for this code 
scrollObject.put("element", element.getId()); 
js.executeScript("mobile: scroll", scrollObject); 
+0

Вы можете добавить некоторые подробности о вашей автоматизации как OS является использую, приложение для автоматизации приложений, версию appium, которую вы используете и т. д. – user2220762

+0

Я создаю скрипт для Android-приложения, appium version - AppiumForWi ndows-1.2.4.1 – Tester

+0

Мне удалось прокрутить вниз, используя следующий код: элемент WebElement = driver.findElement (By.className («android.widget.ScrollView»)); \t \t HashMap arguments = new HashMap (); arguments.put (элемент "element", ((RemoteWebElement)) .getId()); ((JavascriptExecutor)) .executeScript («mobile: scrollTo», аргументы); но получил информацию об исключении: [debug] Ответ на клиент с ошибкой: {"status": 13, "value": {"message": "Неизвестная ошибка на стороне сервера при обработке команды.", "origValue": " Не удалось прокрутить элемент в поле зрения: – Tester

ответ

0

У меня есть работа по следующему коду.

WebElement element = driver.findElement(By.className("android.widget.ScrollView")); 
    Actions actions = new Actions(driver); 
    actions.moveToElement(element); 
    // actions.click(); 
    actions.perform(); 
+0

Я пробовал с кодом, который у вас есть упомянутый выше, но я получаю исключение как ** org.openqa.selenium.WebDriverException: еще не реализовано. **, я использую Appium Java Client - 2.2 и Selenium verions 2.45. Не могли бы вы мне помочь? – mra419

+0

У меня есть используется selenium version 2.44 и java client 2.1.0. Попробуйте запустить скрипт в устройстве. Я получил его на устройстве. – Tester

0
JavascriptExecutor js = (JavascriptExecutor) driver; 
      HashMap<String, String> scrollObject = new HashMap<String, String>(); 
      scrollObject.put("direction", "down"); 
      js.executeScript("mobile: scroll", scrollObject); 

Этот код будет прокручивать вниз, вы можете указать, сколько раз вы хотите, чтобы он прокрутку, поместив его в цикл. Единственным недостатком является то, что это неспецифический код. Опять же, этот код является одним из своих ответов на github, и, как я уже упоминал, Appium не способен выполнять какие-либо правильные свитки для iOS. По крайней мере, я ничего не нашел.

+0

Конечно, поздний ответ, однако, рассматривается как в основном вещи, связанные с драйвером. Прокрутка в Appium для iOS - это полный мусор и не являются функциональными. Этот код будет прокручиваться вниз, вы можете указать, сколько раз вы хотите прокрутить его, поместив его в цикл for. Единственным недостатком является то, что это неспецифический код. Опять же, этот код является одним из своих ответов на github, и, как я уже упоминал, Appium не способен выполнять какие-либо правильные свитки для iOS. По крайней мере, я ничего не нашел. – SomeStudent

+0

Ах, ухо. Я отредактирую его позже в тот же день, в настоящее время на работе. Но я верю, что комментарий тоже решает. – SomeStudent

0

В обновленном обновлении appium «mobile: scroll» устарел, следующий код будет работать, и видео поможет вам реализовать.

Выделите текст:

MobileElement radioGroup = (MobileElement) wd 

.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector()" 

".resourceId(\"+<listview_id>+\")).scrollIntoView(" 

"new UiSelector().text(\"+<your_text>+\"));"); 

radioGroup.click(); 

Эта ссылка поможет вам: https://www.youtube.com/watch?v=bT3tqaLNn-Y

-1
MobileElement radioGroup = (MobileElement) wd.findElementByAndroidUIAutomator(" 
    new UiScrollable(new UiSelector().resourceId(\"+<listview_id>+\")) 
     .scrollIntoView(new UiSelector().text(\"+<your_text>+\")); 
"); 
radioGroup.click(); 

метод из Manidroid работает для меня совершенно

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