UiAutomator 求问一个 swipe 的问题,请大神们指教

testBlue · 2020年07月13日 · 最后由 testBlue 回复于 2020年07月14日 · 2854 次阅读

问题是这样的,我想实现的是用 swipe 方法进行滑动操作,比如滑动开单,滑动上线等,防止误操作的需求。但是不同手机分辨率肯定不一样,不能写死 from a to b 坐标,所以,我想问下如何写一个通用的方式,不管哪种分辨率手机来了都能成功进行滑动操作,请指教~

最佳回复

取手机屏幕的尺寸,按照比例去滑动,不要固定的坐标去走。

在滑动之前我们需要获取屏幕的宽度和高度如下
Dimension dimension = driver.manage().window().getSize();
int width = dimension.getWidth();
int height = dimension.getHeight();

//上下滑动,坐标变化:startx,endx保持一致,改变 starty,endy。endy>starty 上滑,反之下滑
driver.swipe(width / 2, height * 3 / 4, width / 2, height / 4, 1000);

//左右滑动,坐标变化:starty,endy保持一致,改变 startx,endx。startx>endx 左滑,反之右滑
driver.swipe(width / 2, height * 3 / 4, width / 3, height * 3/ 4, 1000);
共收到 2 条回复 时间 点赞

取手机屏幕的尺寸,按照比例去滑动,不要固定的坐标去走。

在滑动之前我们需要获取屏幕的宽度和高度如下
Dimension dimension = driver.manage().window().getSize();
int width = dimension.getWidth();
int height = dimension.getHeight();

//上下滑动,坐标变化:startx,endx保持一致,改变 starty,endy。endy>starty 上滑,反之下滑
driver.swipe(width / 2, height * 3 / 4, width / 2, height / 4, 1000);

//左右滑动,坐标变化:starty,endy保持一致,改变 startx,endx。startx>endx 左滑,反之右滑
driver.swipe(width / 2, height * 3 / 4, width / 3, height * 3/ 4, 1000);
大海 回复

感谢,我已经获取到屏幕长和宽,我想再次获取到指定的控件长和宽,这样一相减就可以了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册