gpt4 book ai didi

ios - 如何从 UI 测试中的标签检索变量数据

转载 作者:搜寻专家 更新时间:2023-10-30 22:05:23 25 4
gpt4 key购买 nike

这就是我目前所拥有的,我只是想获得在标签中输出的结果并根据设置的结果对其进行测试:

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 的值。第二次尝试建立但测试失败,因为即使标签确实产生了正确的值,测试将标签读取为空白,这将我们带到我的第三次尝试通过测试,因为我将它与空白标签进行比较,这是它显示了什么。

所以正如我上面所说,我只是想知道如何准确地检索作为“计算”或按钮按下结果的标签值。

最佳答案

不幸的是,当在 UITest 中访问 UILabel 时,XCUIElementvalue 属性未设置为 text UILabel 的 属性。它总是空的。

XCUIElement 还有一个 label 属性,您可以将其用于您的目的。您只需确保没有在 UILabel 上设置 accessibilityLabel。使用 accessibilityIdentifier 代替:

在您的应用中:

label.accessibilityIdentifier = "Roman Numerals"

在你的 UITest 中:

XCTAssertEqual(app.staticTexts.element(matching:.any, identifier: "Roman Numerals").label, "89")

关于ios - 如何从 UI 测试中的标签检索变量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44289422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com