swipe 滑动事件

  使用方法:driver.swipe(strat_x,start_y,end_x,end_y)

  swipe通过driver使用

  传入起始的位置x和y,和结束的位置x和y

  时间参数,越长滑动的越精准

  默认的时间,大约是0.8s

  获取当前的时间戳time.time()

  时间戳的含义是 从1970年到现在过了多少秒

scroll滑动事件

  从一个元素滑动到另一元素,直到页面自动停止

  方法:scroll(origin_el,destination_el)

  和swipe相比 都存在一定的“惯性”

drag拖拽事件

  从一个元素滑动到另一个元素,第二个元素替代第一个元素原本屏幕上的位置

  方法:drag_and_drop(origin_el,destination_el)

  scroll和drag的区别:drag没有“惯性”,都是使用元素进行传参

  和swipe相比,drag传元素,swipe传坐标,当swipe的时间足够长的时候,和drag效果相同

  

  ps:

  1、find_element如果找到了某个元素 会将具体位置缓存在系统中,只要不重新获取,就算已经跑出了屏幕外,也会认为元素在之前缓存的位置

  2、只要某个元素在屏幕中出现了一部分,find_element也会正常找到

  

高级手势TouchAction

  是appiumDriver的辅助类,主要针对手势操作、比如滑动、长按、拖动等

  原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行

  1、手指轻敲操作

  模拟手指轻敲一下屏幕操作,方法:tap(element=None,x=None,y=None)

  方法:perform() #发送命令到服务器执行操作

  所有手势都要通过perform()执行

  

  2、手指按下和抬起操作

  方法:press(elment=None,x=None,y=None)

  方法:release() #结束动作,手指离开屏幕

  参数:1、element:被定位到的元素

     2、x:x轴的坐标

     3、y:y轴的坐标

   

  3、长按

  long_press

  

  4、手指移动操作

  模拟手机滑动操作,如解锁

  方法:move_to(element=None,x=None,y=None)

  参数:

    1、x:相对于前一个元素的x轴偏移量

    2、y:相对于前一个元素的y轴偏移量

  

  

  

  

  5、什么是链条

    一堆动作 通过 动作.动作.动作.perform 这一串动作就是链条

 

  6、获取手机时间

    方法:device_time

    代码实现:print(driver.driver_time)

  7、手机的高宽

  

 8、发送键到设备

  模拟系统键值的操作,比如操作home键,音量键,返回键等

  方法:keyevent(keycode,metastate=None)

  方法:press_keycode(keycode,metastate=None):

  参数:

    keycode 发送给设备的关键代码

    metastate 关于被发送的关键代码的元信息,一般为默认值

  代码实现:

      for i in range(3):

        driver.keyevent(24)

  9、操作手机通知栏

  打开手机的通知栏,可以获取通知栏的相关信息和元素操作

  方法:open_notifications()

  代码实现:driver.open_notifications()

  关闭导航栏,点击返回按钮

  

  10、获取手机当前网络

  方法:network_connection

  代码实现:print(driver.network_connection)

  

  

  

 

  11、手机截图

  代码实现:import os

       driver.get_screenshot_as_file(os.getcwd()+os.sep+'./screen.png')

  执行结果:当前目录下会生成screen.png文件

  

  

       

最新文章

  1. 人生苦短,我用python——当我在玩python的时候我玩些什么
  2. Java借助Runtime调用外部程序阻塞的代码
  3. CEF3可行性
  4. 错误,这个如何解决呢?内存溢出的问提。把JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 还是不行
  5. ps颜色模式
  6. 精选29款非常实用的jQuery应用插件
  7. C# List 中 Find 方法
  8. Eclipse使用新手教程
  9. C#版的抓包软件
  10. jQuery是什么
  11. airflow 笔记
  12. pycharm中join的应用
  13. Android之ProgressDialog的使用
  14. 微信小程序设置全局字体
  15. 转:浅谈Spectral Clustering 谱聚类
  16. iOS:Xcode7下创建 .a静态库 和 .framework静态库
  17. JMeter接口测试中文乱码问题总结
  18. 第11条:用zip函数同时遍历两个迭代器
  19. Linux STP介绍
  20. Docker 的CMD与ENTRYPOINT区别

热门文章

  1. eosio.cdt发布带来的变化
  2. Python第三方库arrow
  3. spring security登录认证流程解析
  4. XYplorer使用教程
  5. websocket-sharp 实现websocket
  6. OPENMP FOR CONSTRUCT GUIDED 调度方式实现原理和源码分析
  7. Technique to Read Source Code
  8. BUUCTF-[SUCTF2019]EasySQL
  9. JZOJ 3448.公路维护
  10. [NOI Online 提高组]冒泡排序