我有一个非常复杂的应用程序,有很多视图和弹出窗口可以快速选择条目。
我无法解雇一个弹出窗口。我尝试了很多:
当我在XCode中记录它时,我得到: app.otherElements [" PopoverDismissRegion"]
这对我没有意义。
希望有人可以提供帮助。
THX
信息: iOS 10.2,Xcode 8.2.1, iPad Air 2(设备和模拟器,结果相同)
答案 0 :(得分:1)
修改的
找到了更好的解决方案here:
XCUIApplication().otherElements["PopoverDismissRegion"].tap()
原始解决方案:
试试这个:
XCUIApplication().windows.element(boundBy: 0).tap()
点击窗口并关闭当前活动的弹出窗口。
答案 1 :(得分:0)
在iPhone模拟器上,一切都通过以下方式为我工作:
app.swipeDown(velocity: .fast)
当我希望在iPad模拟器上运行相同的测试时,我开始遇到问题。该手势已被应用,但其大小不足以消除该视图。我尝试了其他类似的事情:
XCUIApplication().windows.element(boundBy: 0).tap()
或
app.otherElements["PopoverDismissRegion"].tap()
但没有任何工作。该观点仍然没有被消除。
对其进行更多测试,我发现如果iPad Simulator处于横向,该视图实际上将被发送swipeDown
手势关闭。所以...我能够解决这样的问题:
// If iPad, put the simulator on landscape mode
if UIDevice.current.userInterfaceIdiom == .pad {
XCUIDevice.shared.orientation = .landscapeLeft
}
// Perform the swipe
app.swipeDown(velocity: .fast)
// Restore device portrait mode
if UIDevice.current.userInterfaceIdiom == .pad {
XCUIDevice.shared.orientation = .portrait
}