【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(三):facebook-wda库--API学习以及附录:Github上对WDA的问题解答
2024-10-12 03:43:18
下面简单介绍facebook-wda库--API的学习
import wda # debug模式,会在run运行时控制台生成消息
wda.DEBUG = False # False 关闭,True开启 # 如果连接本地地址失败,通常会运行1分钟才弹超时信息,在这可以设置超时10s就提示信息
wda.HTTP_TIMEOUT = 10.0 # 默认 60.0 seconds # 连接IOS测试机
c = wda.Client('http://localhost:8100') # 解锁屏幕并启动facebook-wda服务
c.healthcheck() # 返回手机HOME
c.home() # 启动应用
s = c.session("com.netease.cloudmusic") # 应用名通过命令:ideviceinstaller -l 查看
# 启动ios真机的设置
c.session("com.apple.Preferences") # 关闭应用
s.close() # 定位元素
el = s(name='密码登录',className='Button') # 判断元素存不存在
el.exists # 返回 true/false # 清空输入框
s(type='TextField').clear_text() # 输入值
s(type='TextField').set_text("xxx") # 获取测试手机屏幕大小
size = s.window_size() # 点击元素
s(type='TextField').tap()
s(name='收起键盘',className='Button').tap() # 定位坐标点击元素(0.5,0.87)点=>通过weditor获取的,参考我的第二篇文章第二节介绍【weditor】
s.tap(size[0]*0.5,size[1]*0.87) # 长按2秒定位坐标点击元素
s.tap_hold(size[0]*0.5,size[1]*0.87,2.0) # index=1为"home arrow news"元素下面的一个相同元素点击
s(label=u"home arrow news").tap()
s(label=u"home arrow news",index=1).tap() # 点到点滑动
# 从(0.5,0.8)点滑到(0.5,0.72)点
# 通过获取屏幕大小的百分比进行坐标定位点击
s.swipe(size[0]*0.5, size[1]*0.8, size[0]*0.5, size[1]*0.72, 0.5) # 滑动方向
s.swipe_left() # 手机最右面向左滑
s.swipe_right() # 手机最左面向右滑
s.swipe_up() # 手机最下面向上滑
s.swipe_down() # 手机最上面向下滑 # 滚动到并展示"提交"元素,也属于滑动,用于较长的展示不开的UI页面
s(label=u"提交").scroll()
未完待续...
附录:
感谢,参考相关文章:
《WebDriverAgent 的 python client 端使用记录》
《ATX 文档 - iOS 控件操作 API》注:这篇文章虽然引得atx包,但是有很多方法可以借鉴的
《ATX 使用 Python 库 facebook-wda 完成网易云音乐 iOS 客户端的自动化测试 (示例)》
《Mac下iOS自动化测试环境( WebDriverAgent,facebook-wda)搭建及简单测试》
最新文章
- 【JS基础】正则表达式
- Gcc的Makefile简单使用
- 一篇很好的Java、C、PHP、前端、Android、IOS的文章
- Android_Activity生命周期
- 未能加载文件或程序集“ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=n
- UIView的剖析(转)
- 【 java版坦克大战--事件处理】 键盘控制小球上下左右移动
- Ajax的工作流程简述
- 前端-mate讲解
- 论山寨手机与Android联姻 【7】 MTK手机软件系统
- 分享:json2.js源代码解读笔记
- 生成扫描二维码下载app的二维码的方法
- IE6里面子集尺寸大的会把父亲撑大
- SAX解析文件
- 学HTTP协议所要知道的基础知识(微总结)
- MySQL学习9 - 单表查询
- Rank of Tetris 拓扑排序+并查集
- s21day22 python笔记
- Js 常用调试的方法
- big and little endian
热门文章
- Java中的SPI(Service Provider Interface)
- php中自定义事件---事件驱动
- sublime text 2中“ctrl + `”快捷键无效
- HDU 1104 Remainder (BFS(广度优先搜索))
- Python的多进程编程
- 算法笔记_166:算法提高 金属采集(Java)
- LoadRunner测试ajaxweb程序攻略
- win7多重网络之默认网关问题
- Android实战技巧之三十八:Handler使用中可能引发的内存泄漏
- 【Python 数据分析】pandas数据导入