【问题标题】:Xcode UITesting - How to press a Button inside a custom tableSectionFooterView?Xcode UI 测试 - 如何在自定义表格部分页脚视图中按下按钮?
【发布时间】:2020-05-04 17:43:46
【问题描述】:

我有一个包含多个部分的表格。每个部分都有一个自定义页脚视图,里面有一个按钮。 从 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,我也看不到该按钮。

【问题讨论】:

  • 删除页脚的辅助功能并添加按钮
  • @canister_exister 已经尝试过了!两者同时,一次一个......没有运气。
  • 您是在模拟器还是设备上运行测试?只是为了确保您可以在两种或一种情况下通过 accesibilityIdentifier 找到您的元素。
  • 理想情况下,您应该将accessibilityIdentifier 设置为您感兴趣的UIButton,并将isAccessibilityElement = false 设置为您的页脚视图。
  • 嘿,谢谢@denis_lor!请看我提供的答案。

标签: ios swift xcode tableview uitest


【解决方案1】:

已修复!

模拟数据有问题。 tableView 混淆了不同部分之间的行。

accessibilityIdentifier设置为目标按钮就足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多