XCUIElement 点击不适用于自定义表格视图单元格

Posted

技术标签:

【中文标题】XCUIElement 点击不适用于自定义表格视图单元格【英文标题】:XCUIElement tap is not working for custom table view cell 【发布时间】:2016-04-08 14:18:11 【问题描述】:

我正在尝试为我的 ios 应用程序编写 UI 测试。出于任何原因,我无法点击我的自定义表格视图单元格。这是我尝试这样做的方法:

let app = XCUIApplication()
let staticTextOfFirstCell = app.tables.cells.elementBoundByIndex(0)
    .staticTexts.elementBoundByIndex(0)
staticTextOfFirstCell.tap()

staticTextOfFirstCell 已设置并且也存在。但是,我的测试用例仍处于Wait for app to idle 状态。

【问题讨论】:

您是否有任何正在显示的动画或活动指示器? 当页面出现时,我首先从后端加载数据。在此期间会显示一个指示器。但是,我已经尝试添加一些逻辑来等待数据显示。 【参考方案1】:

如果您正在使用 UIRefreshControl 尝试评论显示加载指示器,如果它工作正常并继续进行 UI 测试,则包装显示它与构建配置 if 语句如下:

    #if !TEST
    if let refreshControl = refreshControl where !refreshControl.refreshing 
        refreshControl.beginRefreshing()
    
    #endif

这样,一旦您运行 UI 测试,它就不会执行此代码块。

请注意,您需要为 UI 测试添加构建配置。 有一个雷达错误报告here 用于动画(我相信刷新控制也是如此)

【讨论】:

以上是关于XCUIElement 点击不适用于自定义表格视图单元格的主要内容,如果未能解决你的问题,请参考以下文章

自动布局不适用于可重用的表格视图单元格

UITableViewAutomaticDimension 不适用于自定义表格单元格

UIButton setImage 不适用于自定义注释视图

无法将内容添加到 IB 视图控制器中的自定义表格视图单元格

约束不适用于视图和自定义 xib 文件

在自定义视图上处理来自 VoiceOver 的“点击”