我们有一个iPad应用程序,其中包括一个两栏新闻阅读器。左视图包含新闻列表,其中一些链接直接指向新闻,而有些则使用另一个新闻列表推送另一个视图控制器。这还将导致将UIButton设置为导航栏的leftBarButtonItem。如果我们是在第一级,一个简单的图像,不能点击将是leftBarButtonItem。
我现在的目标是进行一次测试,从第一层开始挖掘每一条新闻。如果新闻导致第二级列表,它应该点击导航栏中的UIButton。
我如何检查,如果leftBarButtonItem是“可”的?因为它既可以是图像,也可以是按钮,只要调用navigationBar().leftButton().tap()就会导致错误,如果它是图像的话。
如果有任何帮助的话,我也在使用调谐器库。
发布于 2012-07-09 09:14:49
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。如果元素无效,toString()将返回对象UIAElementNil,或者返回对象UIAButton或对象UIAImage。
也尝试使用苹果文档:http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Reference/UIAElementClassReference/UIAElement/UIAElement.html
发布于 2016-02-10 05:06:36
您可以简单地使用
if (navigationBar().leftButton().exists)
{
navigationBar().leftButton().tap();
}
else
{
//do what you need.
}https://stackoverflow.com/questions/11384106
复制相似问题