我发现android.test.TouchUtils
里面有一个拖动方法,我试了一下,但onfling()
似乎对这个动作没有反应。我也尝试了robotium的scrollToSide(int)
,也没有工作。关于如何在我的测试用例中实现这一点的任何建议?
问问题
4617 次
3 回答
4
在Robotium 中的 drag(float fromX, float toX, float fromY, float toY, int stepCount)也可以工作,而 swipe 和 scrollToSide 似乎不起作用。
使用android.support.v4.view.ViewPager,以下代码适用于我:
solo.drag(300,0,100,100,1);
于 2013-07-24T10:16:40.440 回答
2
我相信您可以使用MotionEvent
类及其obtain()
方法来模拟各种滑动/触摸手势。这是我找到的第一个教程,它应该可以帮助您入门:http ://softteco.blogspot.com/2011/02/touch-hold-swipe-release-gesture.html
于 2012-07-20T20:04:40.490 回答
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);
}
整个想法来自 Jason 的这篇很棒的帖子:http: //blogs.steeplesoft.com/posts/2013/02/13/simulating-swipes-in-your-android-tests/
于 2013-09-27T21:07:33.577 回答