微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – UIAutomation:在点击之前检查元素是否存在

我们有一个iPad应用程序,其中包含一个两列的新闻阅读器.左视图包含一些新闻的列表,其中某些链接直接发布到新闻,有些则将另一个视图控制器与另一个新闻列表.这也将导致将UIButton设置为导航栏的leftBarButtonItem.如果我们处于第一级,那么无法轻拍的简单图像就是leftBarButtonItem.

我的目标是要测试一下水龙头上的每一个消息.如果一个消息导致二级列表,它应该在导航栏中点击UIButton.

如何检查,如果leftBarButtonItem是“tappable”?因为它可以是图像或按钮,只需调用navigationBar().leftButton().tap()将导致错误,如果它是一个图像.

如果没有任何帮助,我也使用了调优库.

解决方法

UIAutomation中的几乎所有元素都可以被挖掘出来.无论是图像,视图还是按钮都不重要.如果您尝试点按的对象无效,您将收到错误.
如何检查:
if ( navigationBar().leftButton().checkIsValid() )
{
     navigationBar().leftButton().tap();
}
else
{
     //do what you need.
}

或者您可以检查您尝试点击的对象是否是一个按钮,例如(不是最好的方法,但它有效):

if ( navigationBar().leftButton().toString() == "[object UIAButton]" )
{
    navigationBar().leftButton().tap();
}
else
{
     //do what you need.
}

checkIsValid()可用于所有UI元素.如果存在对象,则返回true.
如果元素无效或将返回[对象UIAButton]或[对象UIaimage],toString()将返回[object UIAElementNil].

还要尝试使用Apple文档:
http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Reference/UIAElementClassReference/UIAElement/UIAElement.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐