Appium学习08-操作界面之触摸操作

Appium学习08-操作界面之触摸操作_第1张图片

Appium学习笔记目录

本文包含内容:

  1. tap方法
  2. 单点触摸TouchAction(driver)
  3. 多点触控MultiAction()
  4. 滑动driver.swipe(x1, y1, x2, y2,duration)
    5. 界面操作参考文章

tap方法

  • 参考Appium学习07-操作界面之元素操作方法中的“点击”

单点触摸TouchAction(driver)

  • 通过TouchAction对象,添加tap、move_to等操作,然后perform()执行,可以实现解锁屏幕等功能

  • 规范中的可用事件有:

    命令 注释
    press 短按
    release 释放
    moveTo 移动到
    tap 点击
    wait 等待
    longPress 长按
    cancel 取消
    perform 执行
  • 举例

action=TouchAction(driver)
action.press(x=220,y=700).move_to(x=840, y=700).move_to(x=220, y=1530).move_to(x=840, y=1530).release().perform()

多点触控MultiAction()

  • 通过MultiAction().add()添加多个TouchAction操作,最后调用perform()一起执行这些操作
  • 举例
action0 = TouchAction().tap(el)
action1 = TouchAction().tap(el)
MultiAction().add(action0).add(action1).perform()

滑动driver.swipe(x1, y1, x2, y2,duration)

命令解释:从坐标(x1,x2)滑动到坐标(x2,y2),duration非必填项,滑动时间

  • 滑动的坐标不能超过屏幕的宽高

  • 可以通过【driver.get_window_size()】命令获得窗口高和宽,结果为{‘width’: 1080, ‘height’: 1776}

  • 封装

# 获得机器屏幕大小x,y
def getSize(driver):
    x = driver.get_window_size()['width']
    y = driver.get_window_size()['height']
    return (x, y)


# 屏幕向上滑动
def swipeUp(driver, t=500):
    l = getSize(driver)
    x1 = int(l[0] * 0.5)  # x坐标
    y1 = int(l[1] * 0.75)  # 起始y坐标
    y2 = int(l[1] * 0.25)  # 终点y坐标
    driver.swipe(x1, y1, x1, y2, t)



# 屏幕向下滑动
def swipeDown(driver,t=500):
    l = getSize(driver)
    x1 = int(l[0] * 0.5)  # x坐标
    y1 = int(l[1] * 0.25)  # 起始y坐标
    y2 = int(l[1] * 0.75)  # 终点y坐标
    driver.swipe(x1, y1, x1, y2, t)


# 屏幕向左滑动
def swipLeft(driver,t=500):
    l = getSize(driver)
    x1 = int(l[0] * 0.75)
    y1 = int(l[1] * 0.5)
    x2 = int(l[0] * 0.05)
    driver.swipe(x1, y1, x2, y1, t)


# 屏幕向右滑动
def swipRight(driver,t=500):
    l = getSize(driver)
    x1 = int(l[0] * 0.05)
    y1 = int(l[1] * 0.5)
    x2 = int(l[0] * 0.75)
    driver.swipe(x1, y1, x2, y1, t)

你可能感兴趣的:(Appium学习08-操作界面之触摸操作)