Appium 滑动API:Swipe(int start x,int start y,int end x,int y,duration)
解释:int start x-开始滑动的x坐标,
int start y -开始滑动的y坐标。
int end x -结束点x坐标,
int end y -结束点y坐标。
duration 滑动时间(默认5毫秒);
代码:
// 分辨率
int widht = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;
for(int i = 0; i<3; i++){
// 向左滑动!
driver.swipe(widht*6/7, height/2, widht/7, height/2, 2);
Python-appium手机自动测试如何实现滑动呢,在webdriver 的api中只提供了指定两个坐标的滑动,但不同的手机分辨率不同,这样写出来的自动化脚本兼容性就不是那么好了。。那么怎么实现滑动呢,仔细看了下webdriber中的方法,发现有个方法get_window_size() ,这个方法可以获得手机的宽度和高度,这样我们就可以实现按屏幕比率滑动了。。具体方法如下:
#获取屏幕宽和高
def getSize(self):
x=self.driver.get_window_size()['width']
y=self.driver.get_window_size()['height']
return(x,y)
#向左滑动
def swipeLeft(self,t):
l=self.getSize()
x1=int(l[0]*0.75)
y1=int(l[1]*0.5)
x2=int(l[0]*0.25)
self.driver.swipe(x1,y1,x2,y1,t)
#向右滑动
def swipeRight(self,t):
l=self.getSize()
x1=int(l[0]*0.25)
y1=int(l[1]*0.5)
x2=int(l[0]*0.75)
self.driver.swipe(x1,y1,x2,y1,t)
#向上滑动
def swipeUp(self,t):
l=self.getSize()
x1=int(l[0]*0.5)
y1=int(l[1]*0.75)
y2=int(l[1]*0.25)
self.driver.swipe(x1,y1,x1,y2,t)
#向下滑动
def swipeDown(self,t):
l=self.getSize()
x1=int(l[0]*0.5)
y1=int(l[1]*0.25)
y2=int(l[1]*0.75)
self.driver.swipe(x1,y1,x1,y2,t)
下面贴上自己稍稍修改的左滑脚本:
#获取屏幕宽高
def getSize():
x=driver.get_window_size()['width']
y=driver.get_window_size()['height']
return (x,y)
#向左滑
def swipeLeft(n,t): #n代表滑动次数,t代表滑动时间
l=getSize() #调用getSize()
x1=int(l[0]*0.75)
y1=int(l[1]*0.5)
x2=int(l[0]*0.25)
for i in range(0,n): #for循环,控制滑动次数
time.sleep(3)
driver.swipe(x1,y1,x2,y1,t)
swipeLeft(4,200) #调用swipeLeft()