2012-06-14 2 views
3

Я нахожу, что в android.test.TouchUtils есть метод перетаскивания, я пробовал, но onfling(), похоже, не реагирует на это действие. Я также пробовал robotium's scrollToSide(int), также не работая. Любые предложения о том, как я могу добиться этого в своем тестовом примере?Как протестировать событие swipe/fling с помощью jUnit в Android-тесте Android

ответ

2

Я считаю, что вы можете использовать класс MotionEvent, и это метод obtain() для имитации всех видов салфетки/сенсорных жестов. Вот первый учебник я нашел на это, он должен получить вы начали: http://softteco.blogspot.com/2011/02/touch-hold-swipe-release-gesture.html

+0

Спасибо! Я попробую. –

+0

страница отсутствует 404 .. – behelit

4

сопротивления (поплавок fromX, плавать Tox, плавать пированный с у, поплавок TOY, внутр STEPCOUNT) в Robotium работает тоже, где, как салфетки и scrollToSide похоже, не работают.

Использование android.support.v4.view.ViewPager, следующий код работает для меня:

solo.drag(300,0,100,100,1); 
2

Я использую следующие методы с Robotium. Мне нужно использовать этот хакерский способ, потому что v4.view.ViewPager всегда меняет мой тестовый набор по некоторым причинам.

private void swipeToLeft(int stepCount) { 
    Display display = solo.getCurrentActivity().getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth(); 
    int height = display.getHeight(); 
    float xStart = width - 10 ; 
    float xEnd = 10; 
    solo.drag(xStart, xEnd, height/2, height/2, stepCount); 
} 

private void swipeToRight(int stepCount) { 
    Display display = solo.getCurrentActivity().getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth(); 
    int height = display.getHeight(); 
    float xStart = 10 ; 
    float xEnd = width - 10; 
    solo.drag(xStart, xEnd, height/2, height/2, stepCount); 
} 

И вся идея от этого великого поста от Джейсона: http://blogs.steeplesoft.com/posts/2013/02/13/simulating-swipes-in-your-android-tests/