Отклонить рейтинг AppStore в приложениях в UITests в Swift - PullRequest
0 голосов
/ 09 апреля 2020

Здравствуйте, дорогие разработчики,

В данный момент я застрял из-за проблемы с оценкой AppStore в приложении (SKStoreReviewController). Вот ситуация, у меня экран «Первый экран» с кнопкой. Когда я нажимаю на него, я перехожу к следующему экрану "SecondScreen" и появляется всплывающее предупреждение в приложении для рейтинга AppStore.

Я пытаюсь найти решение для своего UITests для того, чтобы отклонить это предупреждение. Я перепробовал много решений, но ищу то, которое не зависит от строки (я не хочу локализовать содержимое этого оповещения):

override func setUp() {
    app = XCUIApplication()
    app.launch()

    addUIInterruptionMonitor(withDescription: "System Dialog") { (alert) -> Bool in
        let allowButton = alert.buttons.element(boundBy: 1)
        if allowButton.exists {
            allowButton.tap()
        }
    }
}

Я также пытался добавить взаимодействие (" app.swipeUp () "), когда я перехожу к " SecondScreen " для запуска этого обработчика.

Я также пробовал другое решение, так как я знаю, когда это предупреждение будет быть запущенным:

let dismissButton = XCUIApplication(bundleIdentifier: "com.apple.springboard").buttons.element(boundBy: 1)
if dismissButton.exists {
    dismissButton.tap()
}

Никто не работал, и я все еще застрял :( Кто-нибудь нашел решение, чтобы отклонить это предупреждение?

Спасибо

1 Ответ

0 голосов
/ 09 апреля 2020

Проведение вверх не работает, но по иронии судьбы вниз . Вот очень упрощенный c пример

import UIKit
import StoreKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(2)) {
            SKStoreReviewController.requestReview()
        }
    }

}
import XCTest

class UITests: XCTestCase {

    override func setUp() {
        continueAfterFailure = false
    }

    func test() {
        let app = XCUIApplication()
        app.launch()

        sleep(5)
        app.swipeDown()
        sleep(3)
    }
}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...