UIAutomation dragInsideWithOptions 对 iOS 7 模拟器没有影响
Posted
技术标签:
【中文标题】UIAutomation dragInsideWithOptions 对 iOS 7 模拟器没有影响【英文标题】:UIAutomation's dragInsideWithOptions has no effect on iOS7 simulator 【发布时间】:2013-09-13 18:32:47 【问题描述】:由于我使用 Xcode 5 和新的 ios 7 模拟器来运行带有 Instruments 的 UIAutomation 测试,dragInsideWithOptions
和 dragFromToForDuration
函数根本不起作用。 (同样的测试在 iOS 6.1 模拟器上运行良好。)这是一个已知的错误,还是这个功能的可用性已经改变?有没有人可以在 iPad 上的 iOS 7 模拟器上使用这个功能?
【问题讨论】:
锁屏也不起作用,因为它还使用了拖动功能。 这在 XCode 5.1 中修复了吗? 也无法在设备 (iOS 7.1.2) 上运行。 在 iOS8 设备上运行良好。 【参考方案1】:这里也是同样的问题。除了 dragInsideWithOptions 不起作用之外,dragFromToForDuration 和 flickFromTo 在带有 iOS 7 的 Xcode 5 中也不起作用。我也一直在寻找并等待解决方案。在那之前,刷卡是不可能的。
【讨论】:
【参考方案2】:这有点旧,但dragInsideWithOptions
似乎仍然无法正常工作。
对于UIScrollView
,可以使用以下方法:
scrollUp
scrollDown
scrollLeft
scrollRight
来源:https://developer.apple.com/library/prerelease/ios/documentation/ToolsLanguages/Reference/UIAScrollViewClassReference/index.html
例如:
UIATarget.localTarget().frontMostApp().mainWindow().scrollViews()[0].scrollRight();
希望对你有帮助!
【讨论】:
【参考方案3】:另一种解决方法:如果您有与滚动视图关联的页面控件,请使用:
pageIndicator = UIATarget.localTarget().frontMostApp().mainWindow().pageIndicators()[0];
pageIndicator.selectPage(1);
【讨论】:
我遇到了同样的问题,您的解决方法效果很好。感谢发布!【参考方案4】:同样的问题。
不仅如此,新的 iOS7 还缺少与 UI 自动化相关的所有文档
https://developer.apple.com/library/prerelease/ios/documentation/ToolsLanguages/Reference/UIAElementClassReference/UIAElement/UIAElement.html
将其与当前文档进行比较,包含完整的方法列表和描述。
https://developer.apple.com/library/ios/documentation/ToolsLanguages/Reference/UIAElementClassReference/UIAElement/UIAElement.html
【讨论】:
我刚想到要在一个可以在那里工作的设备上测试它,至少在我的带有 iOS7 GM 的 iPad mini 上它可以工作【参考方案5】:解决方法:如果您想在稍后的页面上滑动包含按钮的滚动视图,只需轻按此(不可见)按钮,它就会自动“滚动到可见”。 (或者调用这个不可见元素的scrollToVisible()
函数。)
【讨论】:
以上是关于UIAutomation dragInsideWithOptions 对 iOS 7 模拟器没有影响的主要内容,如果未能解决你的问题,请参考以下文章