Я нахожу, что в android.test.TouchUtils
есть метод перетаскивания, я пробовал, но onfling()
, похоже, не реагирует на это действие. Я также пробовал robotium's scrollToSide(int)
, также не работая. Любые предложения о том, как я могу добиться этого в своем тестовом примере?Как протестировать событие swipe/fling с помощью jUnit в Android-тесте Android
ответ
Я считаю, что вы можете использовать класс MotionEvent
, и это метод obtain()
для имитации всех видов салфетки/сенсорных жестов. Вот первый учебник я нашел на это, он должен получить вы начали: http://softteco.blogspot.com/2011/02/touch-hold-swipe-release-gesture.html
сопротивления (поплавок fromX, плавать Tox, плавать пированный с у, поплавок TOY, внутр STEPCOUNT) в Robotium работает тоже, где, как салфетки и scrollToSide похоже, не работают.
Использование android.support.v4.view.ViewPager, следующий код работает для меня:
solo.drag(300,0,100,100,1);
Я использую следующие методы с 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/
Спасибо! Я попробую. –
страница отсутствует 404 .. – behelit