【发布时间】:2020-06-15 13:49:54
【问题描述】:
我正在为 iOS 应用程序编写测试,但无法单击自定义栏按钮。它是一个带有 UIImageView 的条形按钮。
该图像具有accessibilityIdentifier = "settingsBarImage" 和
条形按钮有一个accessibilityIdentifier = "settingsBarButton"
当我使用print(app.debugDescription) 打印小部件树时,按钮存在并且可以点击。
NavigationBar, 0x60000320b480, {{0.0, 44.0}, {375.0, 44.0}}, identifier: 'Overview'
Button, 0x60000320b560, {{16.0, 51.0}, {30.0, 30.0}}, identifier: 'settingsBarButton', label: 'Your profile picture.'
StaticText, 0x60000320b640, {{150.0, 55.7}, {75.0, 20.3}}, label: 'Overview'
我试过了:
app.navigationBars.button.firstMatch.tap()
app.navigationBars["Overview"].buttons["settingsBarButton"].tap()
app.buttons["settingsBarButton"].tap()
app.otherElement["settingsBarButton"].tap()
及其每一种组合。
结果总是一样的:
t = 14.74s Tap Button
t = 14.74s Wait for com.sap.mobile.apps.ProjectCompanion to idle
t = 14.77s Find the Button
t = 15.82s Find the Button (retry 1)
t = 16.87s Find the Button (retry 2)
t = 16.92s Collecting extra data to assist test failure triage
t = 16.92s Requesting snapshot of accessibility hierarchy for app with pid 89909
t = 16.95s Requesting snapshot of accessibility hierarchy for app with pid 89909
t = 17.06s Assertion Failure: OverviewScreenBase.swift:31: Failed to get matching snapshot: No matches found for first query match sequence: `Descendants matching type NavigationBar` -> `Descendants matching type Button`, given input App element pid: 89909 (no attribute values faulted in)
Possibly caused by runtime issues:
如果有人遇到过这个问题,我将不胜感激。
最好的问候, 鸡
编辑:经过更多的实验,我有了更多的信息。
正常运行应用程序创建settingsBarButton时,isAccessibilityElement返回true,但在测试过程中返回false。
【问题讨论】:
标签: ios swift testing xctest xcode-ui-testing