我在我的UiTests中有滚动的功能。就是这里
func scroll(_ elementQuery: XCUIElement, to toElementQuery: XCUIElement, direction: Direction, swipesCount: Int) {
var swipe = 0
let swipeClosure: () -> Void = {
switch direction {
case .up: elementQuery.swipeUp()
case .left: elementQuery.swipeLeft()
case .right: elementQuery.swipeRight()
case .down: elementQuery.swipeDown()
}
swipe += 1
}
while !toElementQuery.exists && swipe <= swipesCount {
swipeClosure()
}
if toElementQuery.exists {
let elementHittable = toElementQuery.isHittable
while !toElementQuery.isHittable && swipe <= swipesCount {
swipeClosure()
}
}
if !toElementQuery.exists {
XCTFail(errorMessage)
} else if !toElementQuery.isHittable {
XCTFail(errorMessage)
}当我在iOS 15模拟器上使用它时,效果很好。但是在下载Xcode 14和iOS 16模拟器之后
toElementQuery.isHittable开始返回false,即使tap()可以很好地处理这个元素。
当我使用模拟器< 16时,iOS toElementQuery.isHittable返回true
发布于 2022-12-04 16:21:59
如果元素有大小并且没有被任何其他isHittable可访问性元素阻止,则iOS返回true。
您的应用程序的显示是否在两个iOS版本之间发生了更改?
在两个debugDescription版本上添加XCUIApplication的iOS可能会有帮助,以帮助调试此问题。
https://stackoverflow.com/questions/74517579
复制相似问题