通过反射调用方法
android.support.test.uiautomator.InteractionController#performMultiPointerGesture
PointerCoords 参数构造参考这个方法的使用
android.support.test.uiautomator.UiObject#performTwoPointerGesture
看截图 你这个应该是相机的预览 ,是动态页面 ; 和这个问题应该是一样的; 执行定位 toast 时超时,等开始查找 toast 时 toast 已经消失了
https://testerhome.com/topics/27224
原因
android 的 uiautomator 元素查找方法
android.support.test.uiautomator.UiDevice#findObject
=>android.support.test.uiautomator.UiDevice#getWindowRoots
=> android.support.test.uiautomator.UiDevice#waitForIdle()
waitForIdle 判定是根据 多少秒内没收到 accessibility event,动态界面更新会一直触发 accessibility event;然后 waitForIdle 会等待到设置的超时后退出, 默认的超时时间是 10 秒(结果就是同样的脚本,页面的操作就非常非常缓慢)
调用 android.support.test.uiautomator.Configurator#setWaitForIdleTimeout 可以修改默认超时时间,
appium 中的话, 可以看看 appium server 有没有提供这个参数的设置