美文网首页Appium知识点汇总
Appium学习08-操作界面之触摸操作

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

作者: 残阳夕露 | 来源:发表于2018-08-16 16:45 被阅读70次

    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)
    
    

    相关文章

      网友评论

        本文标题:Appium学习08-操作界面之触摸操作

        本文链接:https://www.haomeiwen.com/subject/cxeobftx.html