我试图点击在运行时填充和缓存的标签.
TableViewCell有一个UILabel,它在运行时决定.所以我无法为其添加辅助功能标识符.但是我已经为UILabel添加了一个标识符,但是当我查找标签时,这个视图会重复几次
TableViewCell有一个UILabel,它在运行时决定.所以我无法为其添加辅助功能标识符.但是我已经为UILabel添加了一个标识符,但是当我查找标签时,这个视图会重复几次
[tablesQuery.staticTexts[@"Channels"] tap];
我收到一个错误,找到了多个匹配项
我在tableView,myIdentifier中为UILabel添加了一个标识符.
来自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,StaticText 0x600000563a80: traits: 8589934656,StaticText 0x600000563b40: traits: 8589934656,StaticText 0x600000563c00: traits: 8589934656,StaticText 0x600000563cc0: traits: 8589934656,StaticText 0x600000563d80: traits: 8589934656,label: 'No Volume Available'
更新:
我尝试以这种方式访问元素:
XCUIElement *speakerStaticText = tablesQuery.staticTexts[@"navScreenTitle"] ; [speakerStaticText tap];
结果是
`↳Table 0x6000005681c0: traits: 35192962023424,{{0.0,77.0},{330.0,590.0}} ↳Cell 0x6000005684c0: traits: 8589934592,79.0},88.0}} ⋅ ↳StaticText 0x600000568340: traits: 8589934656,label: 'Speaker' ↳Cell 0x6000005699c0: traits: 8589934593,167.0},44.0}} ⋅ ↳StaticText 0x600000569900: traits: 8589934656,178.0},{257.0,label: 'Status' ↳Cell 0x60000056aec0: traits: 8589934593,213.0},44.0}} ⋅ ↳StaticText 0x60000056ae00: traits: 8589934656,224.0},label: 'Recents' ↳Cell 0x60000056c3c0: traits: 8589934593,257.0},44.0}} ⋅ ↳StaticText 0x60000056c300: traits: 8589934656,268.0},label: 'Contacts' ↳Cell 0x60000056d8c0: traits: 8589934593,301.0},44.0}} ⋅ ↳StaticText 0x60000056d800: traits: 8589934656,312.0},label: 'Channels' ↳Cell 0x60000056ec40: traits: 8589934593,347.0},44.0}} ↳StaticText 0x60000056eb80: traits: 8589934656,358.0},label: 'Options'`
我无法隔离并单击特定标签最近
请建议我如何做到这一点.
解决方法
这适用于Objective-C
[[[[app staticTexts] matchingIdentifier:@“Recents”] elementBoundByIndex:0] tap];
在斯威夫特:
XCUIApplication().staticTexts.matching(identifier:“Recents”).element(boundBy:0).tap()