给大家分享一下如何进行坐标定位,从而实现滑动的例子:
首先我们的应从场景有很多,比如app首页的引导图,例如我们公司的信息流的下拉刷新上拉加载.等等,都会用到页面的滑动.
首先先了解一下什么是坐标滑动:
我们app的坐标是在左上角进行的原点定位.
通过针对坐标的定位以及java中的swipe 便可以进行滑动的操作:
首先看第一步代码:
通过坐标来进行引导图进行向左滑动. swipe函数:
driver.swipe(900,800,100,800,1000);
900和800 是滑动的起始坐标位置,
100和800 是结束时候的坐标位置.
1000指的是 滑动的间隔时间,
这种如果是同一款手机的分辨率是没有问题的,但是针对不同的手机的分辨率.我们怎么才能让他自动识别呢?
下面我们来进行定位写活:
int width = driver.manager.windows.getsize().width; 这个是获取到的屏幕宽度.
int height = driver.manager.windows.getsize().height; 这个是获取到的屏幕高度.
同过上述的两个代码,就能实时的获取到我们当前屏幕的宽和高.
在通过获取到的这两个变量,我们进行活动式的加减乘除,就可以进行页面的滑动:
下面是一个小demo 辅助理解:
int width = driver.manager.windows.getsize().width;
int height = driver.manager.windows.getsize().height;
driver.swipe(width*9/10,height/2,width/20,height/2,1000);
到这一步我们可以说是已经实现了滑动.
下面再拓展一下,我们知道java最大的特点就是面向对象, 面向对象第一步就是封装.
我们可以将这个方法封装成对象,进行调用.
还可以也就是接下来说的 二次封装.
封装成方法后 传入一个方向的字符串. 然后用if语句进行判断.
下面这个是个demo也是通用的二次封装滑动,直接传参进方向即可进行运行代码:
public static void page_huadong(String direction){
int width = driver.manager.windows.getsize().width;
int height = driver.manager.windows.getsize().height;
if(direction.equals("左滑")){
driver.swipe(width*9/10,height/2,width/20,height/2,1000);
}
if(direction.equals("右滑")){
driver.swipe(width/20,height/2,width*9/10,height/2,1000);
}
if(direction.equals("上滑")){
driver.swipe(width/2,height*9/10,width/2,height/20,1000);
}
if(direction.equals("下滑")){
driver.swipe(width/2,height/20,width/2,height*9/10,1000);
}
}
到此 滑动就结束了,也进行了简单的二次封装,如果有不理解或者更好见解的地方欢迎各位大神评论区留言.
滑动并不是只有一个方法.欢迎大家留言讨论.
-小饼呀