zhangmiaoping23的专栏

打开支付宝首页搜索“8354584”,即可领红包

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

经过测试,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 block
				DDMSPrint("UiObject.LongPress() 事件 出现异常 UiObjectNotFoundException");
			}
		}

		return bRet;
	}



阅读更多
个人分类: Android自动化测试
上一篇内置APK根据包名找到APK路径
下一篇android 手机获取当前连接的wifi配置信息
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭