Xcode UITesting - 如何在自定义 tableSectionFooterView 中按下按钮?
Xcode UITesting - How to press a Button inside a custom tableSectionFooterView?
我有一个包含多个部分的 table。每个部分都有一个自定义页脚视图,里面有一个按钮。
在 UITests 中,我无法让自动化过程按下按钮。
我试过手动编写 tap() 操作,也试过在 Xcode 中记录测试,但没有成功。
我一直在尝试的:
isAccessibilityElement = true/false
accessibilityIdentifier = ...
accessibilityLabel = ...
自定义页脚视图,以及 UIButton。
这是 Xcode 在按下按钮时记录测试时打印的内容:
app.otherElements["ACTIVITY_VIEW"].tables["ACTIVITY_TABLE_VIEW"].children(matching: .other)["FOOTER_VIEW"].children(matching: .other)["FOOTER_VIEW"].tap()
此外,在打印 XCUIApplication().debugDescription 的结果时,我只看到该部分的以下内容:
Other, 0x600002251880, {{0.0, 272.0}, {414.0, 68.0}}, identifier: 'FOOTER_VIEW'
Other, 0x60000224bc60, {{0.0, 0.0}, {0.0, 0.0}}
即使我为其设置了 accessibilityIdentifier,我也看不到该按钮。
已修复!
模拟数据有问题。 tableView 混淆了不同部分之间的行。
将 accessibilityIdentifier 设置为目标按钮就足够了。
我有一个包含多个部分的 table。每个部分都有一个自定义页脚视图,里面有一个按钮。 在 UITests 中,我无法让自动化过程按下按钮。
我试过手动编写 tap() 操作,也试过在 Xcode 中记录测试,但没有成功。
我一直在尝试的:
isAccessibilityElement = true/false
accessibilityIdentifier = ...
accessibilityLabel = ...
自定义页脚视图,以及 UIButton。
这是 Xcode 在按下按钮时记录测试时打印的内容:
app.otherElements["ACTIVITY_VIEW"].tables["ACTIVITY_TABLE_VIEW"].children(matching: .other)["FOOTER_VIEW"].children(matching: .other)["FOOTER_VIEW"].tap()
此外,在打印 XCUIApplication().debugDescription 的结果时,我只看到该部分的以下内容:
Other, 0x600002251880, {{0.0, 272.0}, {414.0, 68.0}}, identifier: 'FOOTER_VIEW'
Other, 0x60000224bc60, {{0.0, 0.0}, {0.0, 0.0}}
即使我为其设置了 accessibilityIdentifier,我也看不到该按钮。
已修复!
模拟数据有问题。 tableView 混淆了不同部分之间的行。
将 accessibilityIdentifier 设置为目标按钮就足够了。