2017-07-24 140 views
4

我试图单击在运行时填充并缓存的标签。 TableViewCell有一个在运行时决定的UILabel。所以我不能添加一个辅助功能标识符。但我已经添加了一个标识到的UILabel,但这一观点被重复几次,并且当我看一个标签XCUI测试:如何点击运行时填充的标签

[tablesQuery.staticTexts[@"Channels"] tap]; 

我得到一个错误,多次找到匹配

我添加了一个标识符到UILabel在tableView,myIdentifier中。

如何访问标签以自动执行水龙头?

从app.debugDescription

Assertion Failure: Smoke.m:238: No matches found for "Recents" StaticText 
Query input was {(
    StaticText 0x600000563840: traits: 8589934656, {{40.0, 90.0}, {211.0, 21.0}}, identifier: 'navScreenTitle', label: 'Speaker', 
    StaticText 0x600000563900: traits: 8589934656, label: 'No Volume Available', 
    StaticText 0x6000005639c0: traits: 8589934656, {{40.0, 90.0}, {211.0, 21.0}}, identifier: 'navScreenTitle', label: 'Speaker', 
    StaticText 0x600000563a80: traits: 8589934656, label: 'No Volume Available', 
    StaticText 0x600000563b40: traits: 8589934656, {{40.0, 90.0}, {211.0, 21.0}}, identifier: 'navScreenTitle', label: 'Speaker', 
    StaticText 0x600000563c00: traits: 8589934656, label: 'No Volume Available', 
    StaticText 0x600000563cc0: traits: 8589934656, {{40.0, 90.0}, {211.0, 21.0}}, identifier: 'navScreenTitle', label: 'Speaker', 
    StaticText 0x600000563d80: traits: 8589934656, label: 'No Volume Available' 

更新: 我试图访问该元素是这样的:在

`↳Table 0x6000005681c0: traits: 35192962023424, {{0.0, 77.0}, {330.0, 590.0}} 
     ↳Cell 0x6000005684c0: traits: 8589934592, {{0.0, 79.0}, {330.0, 88.0}} 
     ⋅ ↳StaticText 0x600000568340: traits: 8589934656, {{40.0, 90.0}, {211.0, 21.0}}, identifier: 'navScreenTitle', label: 'Speaker' 
     ↳Cell 0x6000005699c0: traits: 8589934593, {{0.0, 167.0}, {330.0, 44.0}} 
     ⋅ ↳StaticText 0x600000569900: traits: 8589934656, {{40.0, 178.0}, {257.0, 21.0}}, identifier: 'navScreenTitle', label: 'Status' 
     ↳Cell 0x60000056aec0: traits: 8589934593, {{0.0, 213.0}, {330.0, 44.0}} 
     ⋅ ↳StaticText 0x60000056ae00: traits: 8589934656, {{40.0, 224.0}, {257.0, 21.0}}, identifier: 'navScreenTitle', label: 'Recents' 
     ↳Cell 0x60000056c3c0: traits: 8589934593, {{0.0, 257.0}, {330.0, 44.0}} 
     ⋅ ↳StaticText 0x60000056c300: traits: 8589934656, {{40.0, 268.0}, {257.0, 21.0}}, identifier: 'navScreenTitle', label: 'Contacts' 
     ↳Cell 0x60000056d8c0: traits: 8589934593, {{0.0, 301.0}, {330.0, 44.0}} 
     ⋅ ↳StaticText 0x60000056d800: traits: 8589934656, {{40.0, 312.0}, {257.0, 21.0}}, identifier: 'navScreenTitle', label: 'Channels' 
     ↳Cell 0x60000056ec40: traits: 8589934593, {{0.0, 347.0}, {330.0, 44.0}} 
     ↳StaticText 0x60000056eb80: traits: 8589934656, {{40.0, 358.0}, {257.0, 21.0}}, identifier: 'navScreenTitle', label: 'Options'` 

XCUIElement *speakerStaticText = tablesQuery.staticTexts[@"navScreenTitle"] ; 

[speakerStaticText tap]; 

结果我不能分离te并点击特定标签最近收件人 请建议我如何做到这一点。

回答

0

这适用于目标C

[[[[应用staticTexts] matchingIdentifier:@ “最近通话”] elementBoundByIndex:0] TAP];

而在夫特:

XCUIApplication()staticTexts.matching(标识符: “最近通话”)。元素(boundBy:0).tap()