首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有类似的getText() WebElement for XCUIElement

是否有类似的getText() WebElement for XCUIElement
EN

Stack Overflow用户
提问于 2016-05-25 09:10:42
回答 2查看 2.6K关注 0票数 0

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

它的XCUIElementWebElement一样。但是对于硒getText()中存在的XCUIElement是否有类似的WebElement方法?

基本上,我想从XCUIElement中捕获文本。

,例如:

代码语言:javascript
复制
let ele:XCUIElement = XCUIApplication().collectionViews.cells[
                                               "Sign In to Activate"].

因此,是否存在从元素中获取值:“登录以激活”。有什么帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2016-05-25 11:08:54

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

代码语言:javascript
复制
let app = XCUIApplication()
let textElement = app.staticTexts["myLabelIdentifier"]
let text = textElement.label

无法获取单元格的文本,因为单元格不是staticText (UILabel)对象。如果单元格包含UILabel (文本),则需要首先定位该对象。

您可以通过执行app.staticTexts来获取屏幕上的所有文本元素,然后需要将文本元素的列表缩小到您感兴趣的内容。要做到这一点,请在应用程序的代码中向accessibilityIdentifier添加一个UILabel。

代码语言:javascript
复制
label.accessibilityIdentifier = "myLabelIdentifier" // This can be whatever String you like

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

代码语言:javascript
复制
let app = XCUIApplication()
let cell = app.cells.elementBoundByIndex(2)
let textElement = cell.staticTexts["myLabelIdentifier"]
let text = textElement.label
票数 7
EN

Stack Overflow用户

发布于 2016-05-25 09:46:23

通过UI测试,您可能不得不对您的问题进行稍微不同的思考。与其尝试读取已知元素的值,不如检查元素是否存在。

在实践中,这意味着检查一个标签与您的期望值出现在您的web视图中。因此,如果您正在等待“登录以激活”标签的出现,您可以通过以下方式断言它:

代码语言:javascript
复制
let app = XCUIApplication()
let signInLabel = app.staticTexts["Sign In to Activate"]
XCTAssert(signInLabel.exists)

或者,如果元素实际上是一个链接,则通过links访问它,如下所示:

代码语言:javascript
复制
let signInLink = app.links["Sign In to Activate"]
XCTAssert(signInLink.exists)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37432547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档