我在用机器人来测试我的应用程序流程时遇到了问题。在我的主屏幕(片段)上,我有一个查找栏,它在onStopTrackingTouch(Seekbar sb)
方法中计算一些数据。此数据用于打开包含更多详细信息的新片段。通过使用机器人setProgressBar()
,它似乎将进度设置在正确的位置,但是这个方法没有被调用,所以我不能继续下一个片段。是否有任何方法来模拟适当的用户行为,从而触发此方法?
英语不是我的母语,所以请原谅我的错误。:)
发布于 2015-08-31 08:59:19
在我的情况下,我做了一些变通,因为反射不能解决我的问题(或者我可能不知道如何实现解决方案)。只需简单地拖动视图:
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);
发布于 2015-08-30 07:30:20
请考虑使用反射并直接调用setProgress方法。请参阅想法细节here。
https://stackoverflow.com/questions/32268309
复制相似问题