C'est ce que j'ai à ce jour et je suis tout simplement essayer d'obtenir le résultat qui est sortie dans une étiquette et de le tester par rapport aux résultats fixés:Comment récupérer des données variables à partir d'une étiquette dans les tests UI
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.
}
La première tentative (étiquetée 1) me donne une erreur de construction disant «ne peut pas appeler la valeur du type non fonctionnel XCUIElement La deuxième tentative se produit mais le test échoue car même si l'étiquette produit effectivement la bonne valeur, le test lit l'étiquette comme vide qui nous amène à ma troisième tentative qui passe le test parce que je l'ai comparé à une étiquette vierge, ce qui est ce que son affichage
Donc, comme je l'ai dit plus haut, je me demandais comment extraire exactement la valeur de l'étiquette qui est le résultat d'un "calcul" ou d'un appui sur un bouton.
J'ai eu vraiment beaucoup de mal avec elle. Merci. – andrei
@joem Comment avez-vous découvert la propriété à utiliser? – tomkaith13
@ tomkaith13 J'ai regardé'XCUIElementAttributes 'auquel 'XCUIElement' se conforme. Ce protocole définit les attributs exposés pour tous les éléments de l'interface utilisateur. Ensuite, j'ai regardé les valeurs de ces attributs au cas où vous interrogez un'UILabel '. – joern