如何使用UIAutomation进行iOS 自动化测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用UIAutomation进行iOS 自动化测试相关的知识,希望对你有一定的参考价值。
参考技术A 1.使用mac进行开发经验那么直接xcode的软件,导入已开发的源码,然后打开软件中菜单的product。2.在弹出一个下拉的菜单中进行选择profile,可进入下一个选项。
3.在弹出中进行ios虚拟模拟器中进行ALL,这样才会显示全部的选项。
4.在然后进行选择Automation,由于每个版本位置不一致,可以在选项框进行查找Automation后,进行点击next。
5.那么Automation的ios自动化项目创建成功了,那么下一步是进行编写脚本。
6.进行创建ios脚本编写,进行点击Add,然后弹出的进行选择create的选项。
7.即可在编辑框中进行写入自动化的脚本,如果不熟悉脚本编写,可以进行录制方法,来进行录制脚本,然后进行回放脚本。
如何检查 iOS gui 自动化中的元素属性?
【中文标题】如何检查 iOS gui 自动化中的元素属性?【英文标题】:How to check element properties in iOS gui automation? 【发布时间】:2011-06-28 09:28:19 【问题描述】:我见过的所有 UI 自动化 examples 都使用标准组件,其状态可以通过 JavaScript API 使用 value()
方法进行检查。这有点限制。假设您要检查颜色或 alpha 值等等。
如何检查视图的属性?
一个例子:点击某个元素应该使其“被选中”。我想点击它,然后验证 isSelected 是否为 TRUE。
更新:
我发现withPredicate() 方法理论上应该这样做,但它似乎只在name
属性上触发:
element.withPredicate("isSelected == YES") // always fails
element.withPredicate("name matches 'my element'") // works
【问题讨论】:
【参考方案1】:我最终采用了适合我的目的的方法:
让 UIView.accessibilityValue 返回一个带有相关属性的 JSON 字符串:
- (NSString *)accessibilityValue
return [NSString stringWithFormat:
@"'alpha':%f, 'isSelected':%@",
self.alpha, self.isSelected ? @"true" : @"false"];
然后在测试代码中使用 eval() 并检查这些属性。 value() 是调用accessibilityValue 的简写:
var props = eval("(" + element.value() + ")");
if (props.isSelected)
UIALogger.logFail("Should not be selected");
UIATarget.localTarget().tap("x":471, "y":337);
var props = eval("(" + element.value() + ")");
if (!props.isSelected)
UIALogger.logFail("Should be selected");
【讨论】:
以上是关于如何使用UIAutomation进行iOS 自动化测试的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iPhone 模拟器中工作的 UIAutomation 中获取 captureScreenWithName?
iOS 的 Javascript UIAutomation 如何用于导航原生应用的 oAuth 流程?