uiautomation(uiautomation教程)
uiautomator与appium的区别
uiautomator和appium都作为移动端自动化测试的工具.那么他们有什么区别呢?
1.适用场景不同
uiautomator适用于adroid手机端自动化测试.而appium不仅适用于Android手机,同样适用于ios手机.
2.作用域不同
在Android系统场景中,uiautomator可跨app,在手机ROM层面实现交互.而appium只适合在应用内部,不能跨app.
而且appium可以实现webview界面的自动化测试,而uiautomator却不能.
3.原理
appium是通过webDriver调起应用,以appium server作为桥梁,通过Bootstrap.jar调用的android端uiautomator命令和ios端uiautomation/XCTest(ios 8以上).
uiautomator通过android instrumentation获取系统上下文,设备信息状态等.
如何使用UIAutomation进行iOS自动化测试
1. 你的第一个UIAutomation测试脚本
UIAutomation的功能测试代码是用Javascript编写的。UIAutomation和Accessibility有着直接的关系,你将用到通过标签和值的访问性来获得UI元素,同时完成相应的交互操作。
下面让我们来编写我们的第一段测试代码。
使用iOS模拟器
1. 下载示例应用程序TestAutomation.xcodeproj,并打开它。这个项目是一个很简单的包含2个tab的tabbar应用程序。
2. 确保选中如下图所示的“TestAutomation iPhone 5.0 Simulator”模式(或许你已经切换成5.1了,因此它可能是iPhone5.1模拟器)。
3. 启动Instruments(Product Profile),或者通过?I。
4. 选择左边的iOS Simulator,然后再选择Automation模板,然后点击“Profile”。
5. Instruments就已经启动好后,然后直接开始录制了。这里先停止录制,(红包按钮或者?R)。
6. 在左边的Scripts窗口,点击“Add Create”创建新的脚本。
7. 在脚本编辑器里,输入下面的代码
1
2
3
4
var target = UIATarget.localTarget();
var app = target.frontMostApp();
var window = app.mainWindow();
target.logElementTree();
什么是uiautomation
automation
英 [??t?'me??(?)n]
美 [,?t?'me??n]
n.
自动化;自动操作
如何利用 UIAutomation 自动化测试 iOS 应用
1. 第一个UIAutomation测试脚本
使用iOS 模拟器
使用iOS设备
2. 处理UIAElement和元素可访问性(Accessibility)
UIAElement层次结构
模拟用户操作
3. 经验分享(让你的生活变得更简单)
类库Tune-up介绍
导入外部脚本
使用强大的命令行
使用录制交互功能
当遇到问题时,加上“UIATarget.delay(1);”
4. 高级交互
处理非预期和预期的提示框(alerts)
多任务
屏幕方向
截屏
加载本地脚本
5. 总结
有用的链接
一个视频