gpt4 book ai didi

swift - XCUITest如何获取SkyFloatingLabelTextField中 float 标题的内容?

转载 作者:行者123 更新时间:2023-11-28 07:59:54 24 4
gpt4 key购买 nike

在我的 XCUITests 中,我需要在验证错误后检查 SkyFloatingLabelTextField 中 float 标题标签的内容。

我已经为 SkyFloatingLabelTextField 元素设置了 accessibilityIdentifier,所以我可以点击并在其中输入文本而不会出现任何问题,但是我如何才能仅使用 XCUIElement 访问它的标题(titleLabel?)?

我尝试将 titleLabel 设置为具有自己的 accessibilityIdentifier 的 accessibilityElement,但之后我无法在我的测试中访问文本字段。

最佳答案

您需要添加扩展 SkyFloatingLabelTextField:

extension SkyFloatingLabelTextField {
override open var accessibilityIdentifier: String? {
didSet {
isAccessibilityElement = false
titleLabel.isAccessibilityElement = true
titleLabel.accessibilityIdentifier = (accessibilityIdentifier ?? "") + "Title"
}
}
}

在 Controller 中你需要添加 accessibilityIdentifier:

@IBOutlet weak var textField: SkyFloatingLabelTextField!
textField.accessibilityIdentifier = "YourTextFieldIdentifier"

如果您想从 XCTestCase 中的文本字段获取标题:

let app = XCUIApplication()
app.launch()
let elementsQuery = app.scrollViews.otherElements

let getTitle = elementsQuery.textFields["YourTextFieldIdentifier"].staticTexts["YourTextFieldIdentifierTitle"]
XCTAssertEqual(getTitle.label, "Your set title text")

elementsQuery.textFields["YourTextFieldIdentifier"].tap()
elementsQuery.textFields["YourTextFieldIdentifier"].typeText("Type text")

关于swift - XCUITest如何获取SkyFloatingLabelTextField中 float 标题的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46937080/

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