如何在 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 (将#修改为@)