2014-12-17 2 views
2

Я разрабатываю автоматизацию для android по классу UiAutomatorTestCase. Я хочу контролировать прокрутку SeekBar и TestView на UIAutomator.прокручивать SeekBar и останавливать его на UiAutomation для Android

например, если SeekBar перемещается влево. TextView - отрицательное число. поэтому, если число «40». Я хочу остановить прокрутку.

Я мог бы протащить стрелку влево, но не могу ее остановить.

UiScrollable seekbar = new UiScrollable(new UiSelector().resourceId("com.test:id/setting_item_child_menu_seekbar")); 
seekbar.swipeLeft(200); 

, пожалуйста, помогите мне, как я могу остановить этот SeekBar, когда некоторый тест TextView равен «40».

+0

Почему вы тестируете число, подобное 40? Не было бы легче проверить абсолютный максимум и минимум? то есть 0 и 100? Таким образом, вы можете гарантировать, что скольжение seekBar до конца будет иметь надежный номер для проверки на – gorbysbm

ответ

0

Я нашел альтернативный способ управления SeekBar, так как я нашел стандартные методы трудно использовать из-за некоторых проблем, так вот она:

private void clickSeekbar (float position) { 
    while ((seekBarUiObj2 = mDevice.findObject(By.res(BASIC_SAMPLE_PACKAGE+":id/seekbar"))) == null) { 
     mDevice.click(200,200); 
     try { 
      Thread.sleep(100); 
     } catch (InterruptedException e) { 
      e.printStackTrace(); 
     } 
    } 
    Rect rect = seekBarUiObj2.getVisibleBounds(); 
    mDevice.click(rect.left+5/*pixels*/+(int)((rect.right-rect.left-10/*pixels*/)*position), ((rect.top+rect.bottom)/2)); 

} 

Хитрость заключается в том, чтобы нажать на устройство на желаемое местоположение на панели поиска. Это работает. Цикл whlle гарантирует, что стрелка находится на экране, если не коснитесь экрана в каком-либо месте, что приведет к появлению стрелки. Затем вычислите местоположение, которое нужно щелкнуть в соответствии с желаемой позицией. Только если ваш искатель очень тонкий, как 1 или 2 пикселя, он может не работать.

+0

Параметр положения поплавка должен быть 0f для запуска, 1f для конца и 0.5f для середины поискового бара. – Akiva