uiautomation,uiautomation 模块

http://www.itjxue.com  2023-01-08 22:19  来源:未知  点击次数: 

什么是uiautomation

automation

英 [??t?'me??(?)n]

美 [,?t?'me??n]

n.

自动化;自动操作

如何使用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进行iOS 自动化测试

第一部分: 熟悉Instruments的UIAutomation.1、选取xcode-Open Developer Tool-Instruments打开Instruments工具, 然后在左上角可以选取设备及被测APP(如下图):2、点击中间的红色按钮开始录制, 录制过程中, 代码框中会实时更新自动化脚本, 点击停止后, 就录制成功了一段自动化测试脚本了. 然后可以点击左边执行即可看到iPhone 5s模拟器中的执行结果了, 跟录制的动作是一致的.第二部分: 控件的获取及操作获取UI控件的方法也非常简便:1、var tableViews = window.tableViews() // 可以获取所有的tableView组成的数组.2、var cells = tableViews[0].cells() // 则获取到第一个tableView中的所有cell元素.3、var textFields = window.textFields()4、textFields[0].value() // 获取该textField中的值其他控件的获取都是类似的方法, 如buttons(), images(), webViews().第三部分: 自定义自动化脚本熟悉了基本的UIAutomation相关的规则之后, 就可以来编写自定义的自动化脚本了.取出tableView上的所有cell, 并依次点击该cell, 然后跳转至每个cell的详细界面, 最后返回.log栏里, 会呈现所有的执行结果, 分析起来也是非常方便的.

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测试脚本

使用iOS 模拟器

使用iOS设备

2. 处理UIAElement和元素可访问性(Accessibility)

UIAElement层次结构

模拟用户操作

3. 经验分享(让你的生活变得更简单)

类库Tune-up介绍

导入外部脚本

使用强大的命令行

使用录制交互功能

当遇到问题时,加上“UIATarget.delay(1);”

4. 高级交互

处理非预期和预期的提示框(alerts)

多任务

屏幕方向

截屏

加载本地脚本

5. 总结

有用的链接

一个视频

(责任编辑:IT教学网)

更多

推荐其他营销文章