• (4)Appium元素事件操作


    • 1、swip滑动事件

        ⚠️从一个坐标位置滑动到另一个坐标位置,只能是两个点之间的滑动
        方法:swipe(start_x, start_y, end_x, end_y, duration=None)
        参数:
            1.start_x:起点X轴坐标
            2.start_y:起点Y轴坐标
            3.end_x:  终点X轴坐标
            4.end_y,: 终点Y轴坐标
            5.duration: 滑动这个操作一共持续的时间长度,单位:ms
      
        业务场景:
            1.进入设置
            2.从坐标(148,659)滑动到坐标(148,248)
      
        代码实现:
            # 滑动没有持续时间
            driver.swipe(188,659,148,248)
            # 滑动持续5秒的时间
            driver.swipe(188,659,148,248,5000)
      
    • 2、scroll滑动事件

        ⚠️ 从一个元素滑动到另一个元素,直到页面自动停止
        方法:scroll(origin_el, destination_el)
        参数:
            1.origin_el:滑动开始的元素
            2.destination_el:滑动结束的元素
      
        业务场景:
            1.进入设置页
            2.模拟手指从存储菜单位置 到 WLAN菜单位置的上滑操作
      
        代码实现:
            # 定位到存储菜单栏
            el1 = driver.find_element_by_xpath("//*[contains(@text,'存储')]")
            # 定位到WLAN菜单栏
            el2 = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
            # 执行滑动操作
            driver.scroll(el1,el2)
      
    • 3、drag拖拽事件
        ⚠️ 从一个元素滑动到另一个元素,第二个元素替代第一个元素原本屏幕上的位置
        方法:drag_and_drop(origin_el, destination_el)
        参数:
            1.origin_el:滑动开始的元素
            2.destination_el:滑动结束的元素
      
        业务场景:
            1.进入设置页
            2.模拟手指将存储菜单 滑动到 WLAN菜单栏位置
      
        代码实现:
            # 定位到存储菜单栏
            el1 = driver.find_element_by_xpath("//*[contains(@text,'存储')]")
            # 定位到WLAN菜单栏
            el2 = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
            # 执行滑动操作
            driver.drag_and_drop(el1,el2)
      
    • 4、应用置于后台事件
        APP放置后台,模拟热启动
        方法:background_app(seconds)
        参数:
            1.seconds:停留在后台的时间,单位:秒
      
        业务场景:
            1.进入设置页
            2.将APP置于后台5s
      
        代码实现:
            driver.background_app(5)
        效果:
            app置于后台5s后,再次展示当前页面
  • 相关阅读:
    LINUX中常用操作命令
    NET Core Kestrel部署HTTPS
    Java中Enum枚举的使用
    Java多线程——sychronized
    Java中SynchronizedMap与ConcurrentHashMap的对比
    Java中HashMap实现原理
    数据结构——Java实现单向链表
    数据库——事务基础
    数据结构——Java实现二叉树
    Java中ThreadLocal的深入理解
  • 原文地址:https://www.cnblogs.com/crystal1126/p/12336415.html
Copyright © 2020-2023  润新知