我在robotium中编写测试以测试我的应用程序流程时遇到问题。在我的主屏幕(片段)上,我有一个使用onStopTrackingTouch(Seekbar sb)
方法计算某些数据的搜索栏。此数据用于打开包含更多详细信息的新片段。通过使用机器人setProgressBar()
,似乎它在正确的位置设置了进度,但是这个方法没有被调用,所以我不能继续下一个片段。有没有办法模拟正确的用户行为,这将触发此方法?
英语不是我的母语所以请原谅我的任何错误。 :)
答案 0 :(得分:0)
请考虑使用Reflection并直接调用setProgress方法。 请参阅创意详情here。
答案 1 :(得分:0)
我在我的案例中做了一些解决方法,因为Reflection没有解决我的问题(或者我可能不知道如何实现解决方案)。只需拖拽视图即可:
SeekBar seekBar = (SeekBar) solo.getView(R.id.distanceBar);
int[] seekBarLocation = new int[2];
seekBar.getLocationOnScreen(seekBarLocation);
final float xStart = seekBarLocation[0];
final float yStart = seekBarLocation[1]+seekBar.getHeight()/2;
final float xEnd= xStart+seekBar.getWidth()/2;
final float yEnd = yStart;
solo.drag(xStart, xEnd,yStart,yEnd,50);