1、swip:通过坐标控制屏幕的滚动
def swipe(self, start_x, start_y, end_x, end_y, duration=None)
封装使用方法:
获得机器屏幕大小x,y
def getSize():
x = driver.get_window_size()[‘width’]
y = driver.get_window_size()[‘height’]
return (x, y)
屏幕上滑动
def swipeUp(t): #当前向上滑动swipeup
l = getSize()
x1 = int(l[0] * 0.5)
y1 = int(l[1] * 0.75)
y2 = int(l[1] * 0.25)
driver.swipe(x1, y1, x1, y2,500) #设置时间为500
swipeUp(9000) #向上滑动9000
屏幕左滑动
def swipLeft(t): #当前向左进行滑动swipleft
l=getSize()
x1=int(l[0]*0.75)
y1=int(l[1]*0.5)
x2=int(l[0]*0.05)
driver.swipe(x1,y1,x2,y1,500)
swipLeft(3000) #向左滑行3000
屏幕下滑动
def swipeDown(t): #向下滑动swipedown
l = getSize()
x1 = int(l[0] * 0.5)
y1 = int(l[1] * 0.25)
y2 = int(l[1] * 0.75)
driver.swipe(x1, y1, x1, y2,500)
swipeDown(10000) #向下滑动10000
屏幕右滑动
def swipRight(t): #向右滑行swipright
l=getSize()
x1=int(l[0]*0.05)
y1=int(l[1]*0.5)
x2=int(l[0]*0.75)
driver.swipe(x1,y1,x2,y1,500)
swipRight(3000) #向右滑行3000,回到初始位置
2、scroll:屏幕从一个元素滑动到另一个元素
def scroll(self, origin_el, destination_el, duration=None)
示例方法:
testButtons = driver.find_elements_by_id(‘XXX’)
driver.scroll(testButtons[3],testButtons[1])
3、控制一个元素滑动到某个位置
控制元素A在X轴上滑动:
from appium.webdriver.common.touch_action import TouchAction
swipElement = driver.find_element_by_id(‘XXX’)
#当前元素的坐标
point = swipElement.location
计算移动后的位置坐标
pointX = point[‘x’] + driver.get_window_size()[‘width’]*0.7
pointY = point[‘y’]
TouchAction(driver).long_press(swipElement).move_to(x=pointX,y=pointY).re