如何解决如何在 XCTest 中向左滑动以找到我的应用程序图标
我正在通过 XCTest 编写 UI 测试。因为模拟器将我的应用程序放在跳板的第二个屏幕上。我需要向左滑动才能找到我的应用图标,然后将其删除。
我在 Xcode10 上做了如下操作:
let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
XCUIDevice.shared.press(.home)
sleep(1)
// Force delete the app from the springboard
if icon.exists {
while !icon.isHittable {
let scrollView = springboard.otherElements["Home screen icons"].otherElements["SBFolderScalingView"].children(matching: .scrollView).element(boundBy: 0)
scrollView.swipeLeft() //Swipe over to the Today view
sleep(1)
}
// Bring up the little "X" button to delete the app
// The little "X" button is,it seems,not exposed directly
let xButtonCoordinate = CGVector(dx: (icon.frame.minX + 5) / springboard.frame.maxX,dy: (icon.frame.minY + 5) / springboard.frame.maxY)
// Delete the app
springboard.coordinate(withnormalizedOffset: xButtonCoordinate).tap()
sleep(1)
let deleteButton = springboard.alerts.buttons["Delete"].firstMatch
if deleteButton.waitForExistence(timeout: 5) {
deleteButton.tap()
}
}
但是,它在 Xcode11 上不再工作,并出现以下错误:
t = 1.19s Swipe left ScrollView
t = 1.19s Wait for com.apple.springboard to idle
t = 1.24s Find the ScrollView
t = 2.30s Find the ScrollView (retry 1)
t = 3.34s Find the ScrollView (retry 2)
t = 3.37s Collecting extra data to assist test failure triage
t = 3.37s Requesting snapshot of accessibility hierarchy for app with pid 47389
t = 3.42s Requesting snapshot of accessibility hierarchy for app with pid 47389
t = 3.47s Find: Descendants matching type Other
t = 3.47s Find: Elements matching predicate '"Home screen icons" IN identifiers'
t = 3.47s Find: Descendants matching type Other
t = 3.47s Find: Elements matching predicate '"SBFolderScalingView" IN identifiers'
t = 3.72s Assertion Failure: XXXTestCaseBase.swift:64: Failed to get matching snapshot: No matches found for Elements matching predicate '"SBFolderScalingView" IN identifiers' from input
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。