无法使用UIAutomation从javascript中获取我的scrollView

时间:2011-10-06 10:29:14

标签: javascript objective-c ios xcode4 ios-ui-automation

我似乎无法创建对scrollView的引用。我正在尝试测试iOS应用程序的登录页面。

xib有一个UIView,它包含一个UIScrollView。

我正在尝试使用此javascript抓取scrollView:

target = UIATarget.localTarget();
application = target.frontMostApp();
window = application.mainWindow(); 
scrollView = window.scrollViews()[0];

打印对象(使用UIALogger.logPass)会产生:

[object UIATarget]
[object UIAApplication]
[object UIAWindow]
[object UIAElement]

window.elements()生成一个只包含一个元素的数组。我在viewController的viewDidLoad中将scrollViews的isAccessibilityElement设置为YES。

我在这里做错了什么?

[编辑]

application.logElementTree()产生:

2) UIAApplication [name:App value:(null) rect:{{x:0, y:20}, {width:768, height:1004}}]
3) UIAWindow [name:(null) value:(null) rect:{{x:0, y:0}, {width:768, height:1024}}]
4) UIAElement [name:(null) value:(null) rect:{{x:0, y:20}, {width:768, height:1004}}]
3) UIAWindow [name:(null) value:(null) rect:{{x:0, y:0}, {width:768, height:1024}}]
4) UIAKeyboard [name:(null) value:(null) rect:{{x:0, y:760}, {width:768, height:264}}]

这看起来不像我的xib中的内容。我期待UIAElement(根视图)持有UIAScrollView ...运行应用程序一切正常。

1 个答案:

答案 0 :(得分:0)

试图解决这个问题我绊倒了其他一些问题,这个问题得到了解答here。使用该答案我发现将UIScrollView上的isAccessibilityElement设置为YES会以某种方式切断elementTree。

答案是:对于UIScrollView,将isAccessibilityElement设置为NO。