Тестирование пользовательского интерфейса: как запросить значение средства выбора в форме

#swift #swiftui #xcode-ui-testing

#swift #swiftui #xcode-ui-testing

Вопрос:

Я пытаюсь написать тест пользовательского интерфейса для формы, содержащей средство выбора. Я хотел бы проверить, является ли выбранное значение средства выбора «2» или «2 монеты» соответственно после запуска приложения.

Я могу нажать на средство выбора и выбрать новое значение:

 func testExample() throws {
    let app = XCUIApplication()
    app.launch()
    
    app.tables.buttons["Coins"].tap()
    app.tables.buttons["1 Coin"].tap()
}
  

Но я не знаю, как проверить, какое значение выбрано.

Вот представление:

 import SwiftUI

struct ContentView: View {
    @State private var coins = 2

    var body: some View {
        NavigationView {
            Form {
                Picker("Coins", selection: $coins) {
                    Text("1 Coin").tag(1)
                    Text("2 Coins").tag(2)
                    Text("3 Coins").tag(3)
                }
            }
        }
    }
}
  

Комментарии:

1. Зачем вам нужно проверять значение? Выражение app.tables.buttons["1 Coin"].tap() проверяет результат выбора само по себе, т.Е.. если нет «1 монеты», это выражение не пройдет проверку.

2. @Asperi: Это правильно, но это только в этом упрощенном примере кода. Для моего реального кода я устанавливаю доступный идентификатор в средстве выбора и использую его для нажатия кнопки.