如何在Xcode 7.2 XCTestCase中获取滚动视图的标签?

时间:2016-09-28 20:55:09

标签: swift xctest xcode7.2

在XCode 7.2中,如果我可以获得XCUIApplication()。scrollViews [“Foo”]。otherElements.otherElements [“Page Title”],有什么方法可以说,“给我这个名为”Foo“的scrollView的页面标题“?”

我试过要求accessibilityLabel和staticTexts。

我尝试将XCUIApplication()。scrollViews [“Foo”],XCUIApplication()。scrollViews [“Foo”]。otherElements等添加到我的观察列表中,但我没有看到任何有用的信息。

当我在poXCUIApplication().scrollViews["Foo"].otherElements时,我得到:

<snip>
↪︎Find: Descendants matching type Other
Output: {
      Other 0x7f904b60e910: traits: 8589934592, {{0.0, 0.0}, {768.0, 1024.0}}, label: 'PDF article'
      Other 0x7f9049efb6e0: traits: 8589934592, {{0.0, 0.0}, {768.0, 1024.0}}
    }

(本案例中的页面标题是'PDF文章')

所以我觉得我至少应该能够使用staticTexts访问它。

1 个答案:

答案 0 :(得分:0)

看起来你的页面标题是一个不从UILabel继承的自定义视图(UILabel后代被标记为StaticTexts)。

您需要在应用程序代码中的页面标题上设置辅助功能标识符(而不是标签)。

pageTitle.accessibilityIdentifier = "Page Title"

这应该使您的代码有效并且是最佳实践。

或者,如果您更改搜索链以使用标签的值而不是"Page Title",那么这也应该有效。但是,如果您打开具有不同标题的其他页面,则无效。

XCUIApplication().scrollViews["Foo"].otherElements["PDF article"]