我有一个包含8个单元格的collectionview。每个单元格都有一个包含一些不同文本的标签。我想测试每个单元格是否包含带有正确文本的标签。如果存在包含该文本的单元格,则使用循环遍历每个文本和资产。
问题在于第7个和第8个单元(索引6和7)不在屏幕上,因此测试失败。
let names = ["First", "Second", "Third", "Fourth", "Fifth", "Sixth", "Seventh", "Eighth"]
for name in names {
let cellWithName = app.cells.containing(.staticText, identifier: name).element
XCTAssert(cellWithName.exists)
}
我得到了一个解决方案:将名称数组限制为仅前6个名称,然后使用后2个名称创建另一个数组,并在屏幕上进行单独测试,但是我已经可以想象出很多问题这个解决方案。
有人知道更好的解决方案来测试屏幕外的UI元素吗?