提问人:InfiniteLoop 提问时间:2/10/2023 更新时间:10/7/2023 访问量:26
iPad模拟器上的多个“更多”按钮。如何缩小要单击哪一个(任何一个)的范围?
Multiple "More" buttons on iPad simulator. How do I narrow it down which one to click (either one)?
问:
我正在尝试点击XCUITest中的按钮:More
XCUIElement* moreKey = self.app.keys[@"more"];
[moreKey tap];
在 iPhone 模拟器上它工作正常,但在 iPad 模拟器上,当我尝试点击它时它会崩溃:
Failed to Error Domain=com.apple.dt.xctest.ui-testing.error Code=10006
"Multiple matching elements found for <XCUIElementQuery: 0x600000c51c20>
...
问题是它在iPad上找到了“更多”按钮的多个实例(与iPhone不同,它有两个):
...}
↪︎Find: Elements matching predicate '"more" IN identifiers'
Output: {
Key, 0x15e670f80, {{0.0, 1049.0}, {132.0, 60.0}}, identifier: 'more', label: 'numbers'
Key, 0x15e678570, {{546.0, 1049.0}, {98.5, 60.0}}, identifier: 'more', label: 'numbers'
所以,它似乎不知道该点击哪一个。
我发现了类似的问题,但对于自定义按钮,解决方案是使其标识符唯一。这不适用于苹果自己的“更多”键,我无法控制其标识符。
我该如何解决?
我可以以某种方式在这里申请吗?elementBoundByIndex:
答:
1赞
InfiniteLoop
2/10/2023
#1
XCUIElement* moreKey = [self.app.keys[@"more"] firstMatch]
做到了诀窍。
评论
1赞
Mike Collins
2/10/2023
假设你想要第一个(点击第二个有什么作用?),是的,你明白了!如果您想点击最后一场比赛,也可以使用类似的技巧。stackoverflow.com/a/51523441/2533443
1赞
InfiniteLoop
2/10/2023
点击第二个做同样的事情。iPad 键盘要大得多,因此 Apple 为方便起见提供了第二套 More 和 Shift。我不在乎点击哪一个 - 我只是想修复它被两个相同的键混淆时崩溃的问题。谢谢!
上一个:Mac 下的窗口嵌入
评论