【发布时间】:2019-06-09 22:36:01
【问题描述】:
对于 iOS11,我使用以下方法在我的 UI 测试中访问 Face Not Recognized 系统警报:
XCUIApplication(bundleIdentifier: "com.apple.springboard").alerts.firstMatch
这在 iOS12 中不适合我。元素树中不再显示警报。
有人知道我现在如何在 iOS12 中访问它吗?
这是 iOS12 的 po XCUIApplication(bundleIdentifier: "com.apple.springboard") 的结果:
Attributes: Application, pid: 30484, label: ' '
Element subtree:
→Application, 0x60000105c000, pid: 30484, label: ' '
Window, 0x60000105c0d0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105c1a0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105c270, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105c340, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105c410, {{0.0, 0.0}, {414.0, 896.0}}
Window, 0x60000105c4e0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105c5b0, {{0.0, 0.0}, {0.0, 0.0}}
Icon, 0x60000105c680, {{-2.3, -2.0}, {70.0, 91.3}}
Icon, 0x60000105c750, {{-2.0, -2.0}, {68.0, 91.3}}
Icon, 0x60000105c820, {{-2.0, -2.0}, {68.0, 91.3}}
Icon, 0x60000105c8f0, {{-2.0, -2.0}, {68.0, 91.3}}
Icon, 0x60000105c9c0, {{-2.0, -2.0}, {68.0, 91.3}}
Icon, 0x60000105ca90, {{-2.0, -2.0}, {68.0, 91.3}}
Icon, 0x60000105cb60, {{-2.0, -2.0}, {68.0, 91.3}}
Other, 0x60000105cc30, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105cd00, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105cdd0, {{0.0, 0.0}, {414.0, 100.0}}
Other, 0x60000105cea0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105cf70, {{0.0, 0.0}, {414.0, 896.0}}
Window, 0x60000105d040, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d110, {{0.0, 0.0}, {414.0, 896.0}}
Window, 0x60000105d1e0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d2b0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d380, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d450, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d520, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d5f0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d6c0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d790, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d860, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105d930, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105da00, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105dad0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105dba0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105dc70, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105dd40, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105de10, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105dee0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105dfb0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105e080, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x60000105e150, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e220, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e2f0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e3c0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e490, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e560, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e630, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e700, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e7d0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e8a0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105e970, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105ea40, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105eb10, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105ebe0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105ecb0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105ed80, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105ee50, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105ef20, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105eff0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f0c0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f190, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f260, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f330, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f400, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f4d0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f5a0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f670, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f740, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f810, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f8e0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105f9b0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105fa80, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105fb50, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105fc20, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105fcf0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105fdc0, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x60000105fe90, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x600001063190, {{0.0, 0.0}, {1242.0, 2688.0}}
Other, 0x600001062d80, {{0.0, 0.0}, {1242.0, 2688.0}}
Window, 0x600001063260, {{0.0, 0.0}, {414.0, 896.0}}, identifier: 'SBSwitcherWindow'
Other, 0x600001062f20, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062ff0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062e50, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001063dc0, {{0.0, 0.0}, {414.0, 896.0}}
ScrollView, 0x600001063e90, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062cb0, {{0.0, 0.0}, {414.0, 896.0}}, identifier: 'AppSwitcherContentView'
Other, 0x600001063330, {{0.0, 0.0}, {414.0, 896.0}}, label: 'App', value: Active
ScrollView, 0x600001063c20, {{0.0, -448.0}, {414.0, 1344.0}}
Other, 0x600001062150, {{0.0, 0.0}, {414.0, 996.0}}
Other, 0x600001062560, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001061ba0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001061c70, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062220, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062630, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001061fb0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001061e10, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062be0, {{0.0, 0.0}, {414.0, 896.0}}
Window (Main), 0x600001061ee0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001063670, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001063740, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062700, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062490, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001061040, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062080, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x6000010639b0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x6000010628a0, {{0.0, 0.0}, {414.0, 896.0}}, identifier: 'Home Grabber'
Other, 0x600001063a80, {{133.0, 883.0}, {148.0, 5.0}}
Window, 0x6000010638e0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001061d40, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x6000010627d0, {{0.0, 896.0}, {414.0, 243.0}}
Other, 0x600001063400, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x6000010635a0, {{0.0, 0.0}, {414.0, 896.0}}
Window, 0x600001063b50, {{-0.0, -0.0}, {414.0, 896.0}}
Other, 0x600001063cf0, {{-0.0, -0.0}, {414.0, 896.0}}
Other, 0x600001063810, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x6000010634d0, {{-0.0, -0.0}, {414.0, 896.0}}
Window, 0x600001062b10, {{0.0, 0.0}, {414.0, 896.0}}
Window, 0x6000010630c0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062970, {{0.0, 0.0}, {414.0, 896.0}}
Window, 0x6000010622f0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x6000010623c0, {{0.0, 0.0}, {414.0, 896.0}}
Other, 0x600001062a40, {{0.0, 0.0}, {0.0, 0.0}}
Path to element:
→Application, pid: 30484, label: ' '
Query chain:
→Find: Application 'com.apple.springboard'
Output: {
Application, pid: 30484, label: ' '
}
【问题讨论】:
-
我清楚地看到层次结构中的“再次尝试 Face ID”按钮以及任何其他警报元素
-
对于 iOS12?显示的元素树适用于 iOS11,但我在 iOS12 中没有看到它。
-
你能打印
XCUIApplication(bundleIdentifier: "com.apple.springboard")(它应该打印元素树)吗?此外,我在跳板上进行了 UI 测试,并使用私有 API:XCUIApplication(privateWithPath: nil, bundleID: "com.apple.springboard")。我的测试使用警报(关于删除应用程序的警报)。要公开这个私有初始化器,在 XCUIApplication 的 Obj-C 扩展中添加- (id)initPrivateWithPath:(id)arg1 bundleID:(id)arg2;。 -
所以我注意到我只有面部无法识别系统警报的问题。我更新了上面的问题,还添加了打印的跳板包的输出。
标签: ios xcode ios12 xcuitest xcode10.1