uiAutomator测试框架,深入pinchOut() pinchIn()

本文详细介绍了uiAutomator测试框架中pinchOut()和pinchIn()方法的参数意义,包括percent和steps如何影响滑动行为。还揭示了这两个方法的执行过程,从查找对象、计算手势起始和结束点,到调用performTwoPointerGesture和performMultiPointerGesture实现手势注入。注意,实际执行的缩放动作发生在屏幕的水平方向上,而非4.3源码注释所描述的对角线方向。
摘要由CSDN通过智能技术生成

pinchOut() 和pinchIn() 方法有俩个需传入的参数int percent, int steps

percent即从1到100的整数,percent值越大,滑动的范围就越大。通过这个值的设置,可以避免从在界面上滑动某些死角位置开始滑动。

steps字面意思是步骤,其实这个值是滑动速度。在做拖动动作(scroll steps)时,源码默认设置的steps值为55,在做滑动动作(fling steps)是,源码默认为5。即,该值越小,滑动的速度越快,最小值为2,即达到最快滑动速度。这个可以通过源码看出来。

steps是的实际意思是,我们执行一个动作将该动作划分的步骤,这一部分不需研究的人可以略过。举个例子来说吧,我们做最快滑动动作,即steps = 2,我们执行滑动距离为x,我们将x划分成了两部分(即 x / steps),真正执行滑动动作是,先在起始点按下touchDown,从起始点以一个未知速度(最快滑动速度,比人在界面能做的最快滑动块吧?或许呢,我也不知道。)滑动到x的二分之一处,再休息MOTION_EVENT_INJECTION_DELAY_MILLIS(该值为5ms)。然后又执行下一个滑动的动作,最后,在终点touchUp。这样,即实现最快速度的滑动。懂了吧?!~好吧,不懂你看看源码吧= =


执行这俩个方法时,首选他会通过findAccessibilityNodeInfo方法去查找调用该方法的对象是否存在。

然后,当该对象存在时候,得到该对象可视的bounds,通过这个bounds来计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值