APP元素事件操作API

前置代码

 from appium import webdriver
    # server 启动参数
    desired_caps = {}
    # 设备信息
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '5.1'
    desired_caps['deviceName'] = '192.168.56.101:5555'
    # app的信息
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'

    # 声明我们的driver对象
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

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)

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)

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)

应用置于后台事件

 APP放置后台,模拟热启动
  方法:background_app(seconds)
  参数:
      1.seconds:停留在后台的时间,单位:秒
 
 业务场景:
      1.进入设置页
      2.将APP置于后台5s
  代码实现:
      driver.background_app(5)
  效果:
      app置于后台5s后,再次展示当前页面

 

posted @ 2021-03-10 20:47  Python从入门到放弃o  阅读(83)  评论(0编辑  收藏  举报