2
这是我到目前为止,我只是试图得到的结果是在标签输出并测试它反对的结果集:如何从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.
}
第一次尝试(标记为1)给我一个构建错误,说“无法调用非函数类型XCUIElement的值。 第二次尝试生成但测试失败,因为即使标签的确产生了正确的值,测试也正在读取标签作为空白,带给我们第三次通过测试的机会,因为我将它与空白标签进行了比较,这就是它的显示效果。
所以,正如我上面所说,我只是想知道如何检索标签值是“计算”或按钮按下的结果。
我真的有很多与它的麻烦。谢谢。 – andrei
@joem你怎么知道要使用哪个属性? – tomkaith13
@ tomkaith13我看了'XCUIElementAttributes''XCUIElement'符合。该协议为所有UI元素定义了暴露的属性。然后,我只是在查询'UILabel'时查看了这些属性的值。 – joern