XCUIElement 是否有类似的 WebElement getText()

miz*_*man 0 selenium xcode-ui-testing

我正在使用XCUITest使用Xcode 7.3进行AppleTV UI 测试。

它有XCUIElement同样的喜欢WebElement但是Selenium WebElement中是否存在类似的getText()方法。XCUIElement

基本上我想从XCUIElement.

例如:

let ele:XCUIElement = XCUIApplication().collectionViews.cells[
                                               "Sign In to Activate"].
Run Code Online (Sandbox Code Playgroud)

那么是否可以从元素中获取值: “登录以激活” 。有帮助吗?

Ole*_*tha 8

一旦您拥有 staticText XCUIElement,您就可以使用该label属性获取文本。

let app = XCUIApplication()
let textElement = app.staticTexts["myLabelIdentifier"]
let text = textElement.label
Run Code Online (Sandbox Code Playgroud)

您无法获取单元格的文本,因为单元格不是 staticText (UILabel) 对象。如果您的单元格包含 UILabel(文本),那么您需要首先找到该对象。

您可以通过执行以下操作来获取屏幕上的所有文本元素app.staticTexts- 然后您需要将文本元素列表缩小到您感兴趣的文本元素。为此,请accessibilityIdentifier向应用程序代码中的 UILabel 添加 。

label.accessibilityIdentifier = "myLabelIdentifier" // This can be whatever String you like
Run Code Online (Sandbox Code Playgroud)

如果您有多个重复使用标签的单元格,您还需要能够识别您感兴趣的单元格。例如,如果您想查找第三个单元格内的文本元素:

let app = XCUIApplication()
let cell = app.cells.elementBoundByIndex(2)
let textElement = cell.staticTexts["myLabelIdentifier"]
let text = textElement.label
Run Code Online (Sandbox Code Playgroud)