下面简单介绍facebook-wda库--API的学习

  1. import wda
  2.  
  3. # debug模式,会在run运行时控制台生成消息
  4. wda.DEBUG = False # False 关闭,True开启
  5.  
  6. # 如果连接本地地址失败,通常会运行1分钟才弹超时信息,在这可以设置超时10s就提示信息
  7. wda.HTTP_TIMEOUT = 10.0 # 默认 60.0 seconds
  8.  
  9. # 连接IOS测试机
  10. c = wda.Client('http://localhost:8100')
  11.  
  12. # 解锁屏幕并启动facebook-wda服务
  13. c.healthcheck()
  14.  
  15. # 返回手机HOME
  16. c.home()
  17.  
  18. # 启动应用
  19. s = c.session("com.netease.cloudmusic") # 应用名通过命令:ideviceinstaller -l 查看
  20. # 启动ios真机的设置
  21. c.session("com.apple.Preferences")
  22.  
  23. # 关闭应用
  24. s.close()
  25.  
  26. # 定位元素
  27. el = s(name='密码登录',className='Button')
  28.  
  29. # 判断元素存不存在
  30. el.exists # 返回 true/false
  31.  
  32. # 清空输入框
  33. s(type='TextField').clear_text()
  34.  
  35. # 输入值
  36. s(type='TextField').set_text("xxx")
  37.  
  38. # 获取测试手机屏幕大小
  39. size = s.window_size()
  40.  
  41. # 点击元素
  42. s(type='TextField').tap()
  43. s(name='收起键盘',className='Button').tap()
  44.  
  45. # 定位坐标点击元素(0.5,0.87)点=>通过weditor获取的,参考我的第二篇文章第二节介绍【weditor
  46. s.tap(size[0]*0.5,size[1]*0.87)
  47.  
  48. # 长按2秒定位坐标点击元素
  49. s.tap_hold(size[0]*0.5,size[1]*0.87,2.0)
  50.  
  51. # index=1为"home arrow news"元素下面的一个相同元素点击
  52. s(label=u"home arrow news").tap()
  53. s(label=u"home arrow news",index=1).tap()
  54.  
  55. # 点到点滑动
  56. # 从(0.5,0.8)点滑到(0.5,0.72)点
  57. # 通过获取屏幕大小的百分比进行坐标定位点击
  58. s.swipe(size[0]*0.5, size[1]*0.8, size[0]*0.5, size[1]*0.72, 0.5)
  59.  
  60. # 滑动方向
  61. s.swipe_left() # 手机最右面向左滑
  62. s.swipe_right() # 手机最左面向右滑
  63. s.swipe_up() # 手机最下面向上滑
  64. s.swipe_down() # 手机最上面向下滑
  65.  
  66. # 滚动到并展示"提交"元素,也属于滑动,用于较长的展示不开的UI页面
  67. s(label=u"提交").scroll()

未完待续...

附录:

Github上对WDA的问题解答

感谢,参考相关文章:

diao2007

WebDriverAgent 的 python client 端使用记录

codeskyblue

ATX 文档 - iOS 控件操作 API》注:这篇文章虽然引得atx包,但是有很多方法可以借鉴的

ATX 使用 Python 库 facebook-wda 完成网易云音乐 iOS 客户端的自动化测试 (示例)

cynthia猫

Mac下iOS自动化测试环境( WebDriverAgent,facebook-wda)搭建及简单测试

【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(三):facebook-wda库--API学习以及附录:Github上对WDA的问题解答的更多相关文章

  1. 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(二):安装facebook-wda库并编写简易自动化测试脚本

    上一篇介绍完如何安装WDA,接下来开始正式安装开发库并编写自动化脚本. 目录: 一.安装facebook-wda库 二.通过WEditor定位元素 三.附录:学习资料 一.安装facebook-wda ...

  2. 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(一):WebDriverAgent安装

    此篇介绍如何安装WebDriverAgent,下一篇介绍facebook-wda库的安装使用以及自动化脚本的开发. 前言: 对于iOS的应用的测试,如果不需要用到图像识别,推荐使用这个项目facebo ...

  3. 【ATX学习大纲】【ATX基于uiautomator2+Python学习】之Android自动化

    github学习地址:https://github.com/openatx/uiautomator2 <_io.TextIOWrapper name='<stderr>' mode= ...

  4. 【Mac + ATX基于uiautomator2】使用weditor时,报错:requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))

    产生以下原因找到了:是因为启动了appium,两者冲突,不能同时使用. 之前讲过怎么安装u2([Mac安装,ATX基于uiautomator2]之安装步骤)以及使用weditor, 但是经过一段时间, ...

  5. Mac python3连接mysql

    Mac python3连接mysql 安装方法1: 1.pip3 install --upgrade pip //升级pip版本 2.sudo python3 /Library/Frameworks/ ...

  6. Python3操作MySQL基于PyMySQL封装的类

    Python3操作MySQL基于PyMySQL封装的类   在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类, ...

  7. 基于facebook-wda的iOS自动化操作实践记录

    [本文出自天外归云的博客园] 原理 对于iOS自动化操作,主要靠WebDriverAgent来完成.在Mac电脑上连接真机iPhone,运行WebDriverAgentRunner会在Mac端启动WD ...

  8. GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

    1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...

  9. RobotFrameWork环境搭建(基于HTTP协议的接口自动化)

    1. 前言 接着上一篇<RobotFramework框架系统课程介绍>,本篇主要介绍一下在基于RobotFramework框架开展接口自动化前,前期的环境如何搭建,正所谓”工欲善其事,必先 ...

随机推荐

  1. dubbo forbid 注意的几种方式

    1.检查所调用的项目模块是否起来了 2.如果起来后,检查该模块配置是否正确 3.服务端起来后与管理端的项目内容不一致(比如服务端增加了东西,管理端没有更新)

  2. OpenGL(八)使用 subroutine 切换可编程管线

    Subroutine 功能是在OpenGL 4.0 版本号里才添加的.因此对于各种Android手机.这个功能基本跪了.假设你发现你的程序报错:ARB_shader_subroutine.那就说明当前 ...

  3. 用开源NGINX-RTMP-MODULE搭建FLASH直播环境

    用开源nginx-rtmp-module搭建flash直播环境 1.将nginx和nginx-rtmp-module的源码包解压PS:nginx-rtmp-module网址https://github ...

  4. Spring-1 之入门

    (一)简单对象Spring  XML配置说明 使用Spring (Spring 3.0) 实现最简单的类映射以及引用,属性赋值: 1.1.新建类UserModel: 1 2 3 4 5 6 7 8 9 ...

  5. Docker exec与Docker attach

    转载博客地址:http://blog.csdn.net/halcyonbaby 新浪微博:@寻觅神迹 内容系本人学习.研究和总结,如有雷同,实属荣幸! ================== Docke ...

  6. CSS3中伪类nth-child和nth-of-type区别

    本篇文章由:http://xinpure.com/css3-pseudo-class-difference-between-nthchild-and-nthoftype/ 首先来看看 nth-chil ...

  7. PHP中文乱码的常见解决方法总结

    PHP中文乱码是PHP开发中的常见问题之一.PHP中文乱码有时发生在网页本身,有些产生在于MySQL交互的过程中,有时与操作系统有关.下面进行一番总结. 一.首先是PHP网页的编码 1. php文件本 ...

  8. Windows未能启动,原因可能是最近更改了硬件或软件,解决此问题的步骤

    电脑开机出现显示这样一段文字"Windows未能启动,原因可能是最近更改了硬件或软件,解决此问题的步骤":出现问题的界面是这样的 步骤如下: 1.直接按"Enter&qu ...

  9. C#7.0之元组数据

    static (string,string,string) LookupName(int a) { return ("","",""); } ...

  10. NoSQL(二)

    redis介绍 1.aof存储的文件会越来越大,当文件很大时我们可以进行一次rdb存储原来的aof文件就可以删除了,因为aof就相当与mysql中的binlog文件会一致增长,当redis里面的key ...