繁体   English   中英

XCUITest 如何关闭日期选择器弹出框

[英]XCUITest How to dismiss date picker popover

在 iOS 15 中,我的应用程序中有一个使用.compact样式的日期选择器,因此它将日期和时间选择 UI 显示为弹出框。

我在 UI 测试中找不到关闭弹出框的方法,尝试了弹出框关闭的建议,例如:

  • app.otherElements["PopoverDismissRegion"] (不存在)
  • app.otherElements["dismiss popup"].tap() (不存在)
  • .windows.element(boundBy: 0).tap() (只是点击屏幕的中心,这仍然是弹出框,所以没有任何用处)

花了一些时间四处搜索,寻找可能有用的与日期选择器无关的答案,但我找到了这个答案,这表明这会起作用:

app.swipeDown(velocity: .fast)

这在 iPhone 模拟器上对我有用,根据答案,它也适用于横向 iPad,但不适用于纵向。

将答案复制为原始答案不参考日期选择器,因此更难找到!

令人难以置信的是,点击“提供的”解雇按钮不起作用,是吗?

我通过“强制”点击另一个我知道在屏幕上的元素(header 文本)解决了这个问题。 如果日期选择器覆盖了该元素,这显然不起作用,但在我的情况下它从来没有。

extension XCUIElement {

  func forceTap() {
    self.coordinate(withNormalizedOffset: CGVector(dx: 0.0, dy: 0.0)).tap()
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM