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

Appium学习笔记目录

本文包含内容:

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

tap方法

单点触摸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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容