[英]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.