Anroid的uiautomator实现控件长按的效果

来源:互联网 发布:阿里云干嘛用的 编辑:程序博客网 时间:2024/06/05 19:41

经过测试,UiObject的longClick无法实现在android.widget.TextView长按的效果。经过查找资料与实际测试,发现原地swipe可以用来模拟长按,代码如下:

private boolean LongPress(final MatchSelectUI stMatchSelectUI,int nSeconds){boolean bRet = false;UiObject stUiObject = new UiObject(stMatchSelectUI.CreateUISelector());bRet = stUiObject.exists();if(true == bRet){bRet = false;try {//longClick无法实现长按//bRet = stUiObject.longClick();Rect stRect = stUiObject.getVisibleBounds();int nPressX = stRect.centerX();int nPressY = stRect.centerY();//100对应着0.5秒int nSecondsSteps = 200;int nSteps = nSecondsSteps * nSeconds;getUiDevice().swipe(nPressX, nPressY, nPressX, nPressY,nSteps);bRet = true;}catch (UiObjectNotFoundException e) {// TODO Auto-generated catch blockDDMSPrint("UiObject.LongPress() 事件 出现异常 UiObjectNotFoundException");}}return bRet;}



1 0
原创粉丝点击