我发现在android.test.TouchUtils
中有一个拖拽方法,我尝试一下,但onfling()
似乎没有对此操作做出反应。我也尝试机器人的scrollToSide(int)
,也没有工作。有关如何在我的测试用例中实现此目的的任何建议吗?
答案 0 :(得分:4)
拖动(浮动fromX,浮动到X,浮动从Y,浮动到Y,int步骤)在Robotium中也可以工作,滑动和scrollToSide似乎不起作用。< / p>
使用android.support.v4.view.ViewPager,以下代码适用于我:
solo.drag(300,0,100,100,1);
答案 1 :(得分:2)
我相信您可以使用MotionEvent
类和obtain()
方法来模拟各种滑动/触摸手势。这是我在此发现的第一个教程,它应该让你开始:http://softteco.blogspot.com/2011/02/touch-hold-swipe-release-gesture.html
答案 2 :(得分:2)
我在Robotium中使用以下方法。我需要使用这种hacky方式,因为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/