iOS UITests:访问包含动态内容的 UITableViewCells 的重新排序控件元素
Posted
技术标签:
【中文标题】iOS UITests:访问包含动态内容的 UITableViewCells 的重新排序控件元素【英文标题】:iOS UITests: accessing reordering control elements of UITableViewCells that contain dynamic contents 【发布时间】:2016-11-29 22:02:02 【问题描述】:我正在编写 UITests 以重新排序表格视图单元格。这篇文章展示了如何做到这一点:How to reorder cells under UITests?,有一个问题:它假设重新排序控件的可访问性标识符是静态文本。
我的单元格标签上的文本每 30 秒更改一次。为了能够以稳定的方式访问单元格,我将所有单元格的可访问性标识符显式设置为静态字符串:“cell1”、“cell2”、“cell3”等。使用这些标识符,我可以成功访问单元格在我的 UITests 中。但是,重新排序控件元素的标识符仍然是操作系统默认值,即“重新排序 dynamic_cell_label_text”,基于访问时单元格上的标签内容不断变化,因此无法访问重新排序控件以进行 UI 测试。
是否有 1) 更改重新排序控制元素的可访问性值或 2) 访问重新排序控制元素不是通过它们的标识符,而是通过它关联的单元格?任何其他想法也值得赞赏。
【问题讨论】:
如果您还设置了可访问性标签(与 accessID 相同),您会遇到同样的情况吗? 【参考方案1】:如果可以一致地获取单元格元素,则可以搜索该单元格的后代元素。
https://developer.apple.com/reference/xctest/xcuielement/1500791-descendants
【讨论】:
以上是关于iOS UITests:访问包含动态内容的 UITableViewCells 的重新排序控件元素的主要内容,如果未能解决你的问题,请参考以下文章
从 iOS 的 UITests 中读取 Info.plist?
Xamarin.UITests - 在真实设备上进行测试 - iOS - 应用权限弹出窗口问题
iOS UITests NSLocalizedString 不工作