xcode UI 自动化脚本在 iPhone 上运行良好,但在 iPad 上失败
Posted
技术标签:
【中文标题】xcode UI 自动化脚本在 iPhone 上运行良好,但在 iPad 上失败【英文标题】:xcode UI Automation script runs fine on iPhone but fails on iPad 【发布时间】:2012-05-22 15:21:43 【问题描述】:我在 UI 自动化中有脚本,我在 iPhone(真实设备和 SW 模拟器)上运行,它们运行良好。但是当我在 iPad 上运行脚本时,脚本失败了。
示例: target.frontMostApp().mainWindow().tableViews()["空列表"].cells()["标签:"].buttons()[0].tap();
此行在 iPhone 上运行良好,但在 iPad 上失败并出现以下错误(脚本正在尝试 scrollToVisible - :/):
target.frontMostApp().mainWindow().tableViews()["空列表"].cells()["Tags:"].buttons()[0].scrollToVisible() target.frontMostApp().mainWindow().tableViews()["Empty list"].cells()["Tags:"].buttons()[0] 无法被点击 脚本抛出了一个未捕获的 javascript 错误:target.frontMostApp().mainWindow().tableViews()["Empty list"].cells()["Tags:"].buttons()[0] could not be taped
有什么建议吗? 谢谢,
【问题讨论】:
【参考方案1】:你可以使用函数,比如这个
//function
var _Model=function()
var model=target.model();
UIALogger.logMessage(model);
return model;
//your main case
if(_Model()==='iPhone Simulator')
target.frontMostApp().mainWindow().tableViews()["Empty list"].cells()["Tags:"].buttons()[0].tap();
else if(_Model()==='iPad Simulator')
//here you should write another way to tap Tags: Button
//you can use record or logtree for getting element ID
else
UIALogger.logFail("impossible to understand device type");
【讨论】:
以上是关于xcode UI 自动化脚本在 iPhone 上运行良好,但在 iPad 上失败的主要内容,如果未能解决你的问题,请参考以下文章
尝试在具有 IOS 8 和 Xcode 6 UIAutomation 的设备上运行脚本时出错
如何在 jenkins 上运行 ios 模拟器进行 ui 自动化测试
Xcode 6 Auto Layout - 所有设备的 UI 元素之间的恒定水平间距