Это то, что у меня есть до сих пор, и я просто пытаюсь получить результат, который выводится на метке, и проверить его на соответствие установленным результатам:
func testExample() {
let app = XCUIApplication()
let enterRomanNumeralsHereTextField = app.textFields["Enter roman numerals here"]
enterRomanNumeralsHereTextField.tap()
let convertButton = app.buttons["Convert"]
//1
enterRomanNumeralsHereTextField.typeText("LL")
convertButton.tap()
XCTAssertTrue(app.staticTexts.element(matching:.any, identifier: "Roman Numerals").label == "NotValidRomanNumber")
//2
enterRomanNumeralsHereTextField.typeText("LXXXIX")
convertButton.tap()
XCTAssertEqual(app.otherElements.containing(.staticText, identifier:"Roman Numerals").element.value as! String, "89")
//3
enterRomanNumeralsHereTextField.typeText("")
enterRomanNumeralsHereTextField.typeText("LXXVIII")
convertButton.tap()
XCTAssertEqual(app.otherElements.containing(.staticText, identifier:"Roman Numerals").element.value as! String, "")
// Use recording to get started writing UI tests.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
Первая попытка (обозначенная 1) дает мне ошибку сборки, говорящую: «Невозможно вызвать значение не функционального типа XCUIElement. Вторая попытка строится, но тест завершается неудачей, потому что, хотя метка действительно дает правильное значение, тест читает метку как пусто, что подводит нас к моей третьей попытке, которая проходит тест, потому что я сравнил ее с пустой этикеткой, что она и показывает.
Итак, как я уже сказал выше, мне просто интересно, как именно получить значение метки, которое является результатом «расчета» или нажатия кнопки.