Как удалить / сбросить приложение с iOS 13 с помощью XCTest? - PullRequest
0 голосов
/ 22 октября 2019

Недавно я начал тестировать приложение для iOS с использованием XCTest, но обнаружил некоторые трудности, основной трудностью было удаление или сброс содержимого приложения в каждом тестовом классе.

В настоящее время я использую XCode 11 и пытаюсь удалить/ сбросить приложение из iOS 13 для каждого тестового класса, я уже пробовал:

  • Удалить приложение через трамплин
  • Удалить приложение, перейдя в настройки приложения

Этот шаг действительно важен в моих тестах, потому что в каждом тесте мне нужно создать профиль и войти в систему, поэтому в следующем тесте мне нужно просто установить приложение с нуля

1 Ответ

2 голосов
/ 22 октября 2019

Попробуйте нажать значок приложения немного дольше, чем в предыдущих версиях iOS.

    let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")

    func deleteMyApp() {
        XCUIApplication().terminate()

        let icon = springboard.icons["YourAppName"]
        if icon.exists {
            let iconFrame = icon.frame
            let springboardFrame = springboard.frame
            icon.press(forDuration: 5)

            // Tap the little "X" button at approximately where it is. The X is not exposed directly
            springboard.coordinate(withNormalizedOffset: CGVector(dx: (iconFrame.minX + 3) / springboardFrame.maxX, dy: (iconFrame.minY + 3) / springboardFrame.maxY)).tap()

            springboard.alerts.buttons["Delete"].tap()
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...