文档介绍:Athrun Instrument Driver
太禅
Athrun简介
• Athrun
–目标:自动化手段解决无线测试的问题
–定位:无线自动化测试框架/平台
–支持:Android / iOS
–口号:让手机run起来!
• Open source at
–
Android框架发展历程
录制
流程
构建
自动化
框架
iOS框架发展历程
Instrument
Driver
instrument
js 扩展
注入式框架
Athrun远程平台
IOS框架发展(一)
•注入式框架AppFramework
–思路:
•利用didFinishLaunchingWithOptions
•构造控件树
•模拟touch事件
–优点:
• iOS各版本适用
• Objective-C贴近开发
–困难:
•需要修改开发代码
•运行下个用例前,需要主动返回首页
• Objective-C对测试的学习成本
IOS框架发展(二)
• instrument js 扩展
– UIAutomation的调研
•优点:录制、非注入
•缺点:iOS ,操作不稳定
–我们对UIAutomation的扩展
•操作扩展
•校验扩展
• Log转Hudson
– UIAutomation方案的困扰
•录制难维护
•低级错误,排错成本高
•无法单步调试
•服务端数据准备
IOS框架发展(三)
• InstrumentDriver
–特点
•使用java编写用例
• junit方式运行用例
–优势
•自动的语法检查,智能感知
•支持断点单步调试、变量查看
•更方便的持续集成和数据准备
InstrumentDriver 框架图
API介绍
• API风格: • alert
• keyboard
–面向UI对象
• UIANavigationBar
–支持数组• mainWindow
–与UIAutomation兼容• win=().f
–录制的脚本可以运行 rontMostApp().mainWindow()
•根节点: – UIAWindow(win)
•继承自UIAElement
– UIATarget
– UIAElement
• static localTarget()
• elements
• printElementTree
• T findElementByText(String
• scrollUp/Down/Left/Right text, Class<T> elmentType)
• frontMostApp • tap
– UIAApplication • touchAndHold