Robotium setProgressBar - onStopTrackingTouch未被触发

时间:2015-08-28 09:58:45

标签: android robotium seekbar

我在robotium中编写测试以测试我的应用程序流程时遇到问题。在我的主屏幕(片段)上,我有一个使用onStopTrackingTouch(Seekbar sb)方法计算某些数据的搜索栏。此数据用于打开包含更多详细信息的新片段。通过使用机器人setProgressBar(),似乎它在正确的位置设置了进度,但是这个方法没有被调用,所以我不能继续下一个片段。有没有办法模拟正确的用户行为,这将触发此方法?

英语不是我的母语所以请原谅我的任何错误。 :)

2 个答案:

答案 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);