2017-08-25 74 views
0

我是iOS UI测试新手,而且我遇到了问题。iOS UI测试:无法访问元素 - 不是在Elementtree

我在TableView中有一个单元,它可以在点击时展开。但我无法访问任何扩展的元素。我打印出来了ElementTree,发现它们不包含在树:

Table 0x608000379a40: traits: 35192962023424, {{0.0, 290.0}, {320.0, 234.0}} 
         Cell 0x608000379b00: traits: 8589934592, {{0.0, 290.0}, {320.0, 85.5}} 
          StaticText 0x608000379bc0: traits: 8589934656, {{93.0, 298.0}, {186.0, 16.0}}, label: 'Test Preview' 
          StaticText 0x608000379c80: traits: 8589934656, {{93.0, 316.0}, {186.0, 16.0}}, label: '1234' 
          StaticText 0x608000379d40: traits: 8589934656, {{93.0, 334.0}, {186.0, 16.0}}, label: 'grün' 
          Button 0x608000379e00: traits: 8589934593, {{93.0, 350.0}, {186.0, 25.0}}, label: 'bottomArrow' 
          Button 0x608000379ec0: traits: 8589934593, {{287.0, 290.0}, {33.0, 85.0}}, label: 'emptyStar' 

这里列出的元素,是已经当细胞被折叠可见的。扩展单元格时,我只是取消隐藏预先隐藏的元素。

这是我的手机时,它是collapsed 这是我的手机时,它是expanded

请告诉我这里的问题?为什么我可以访问这些元素? (我没有使用打印出的ElementTree,以确保它不是一个时间问题之前睡眠(10))

编辑 我想通了,这个问题被隐藏和取消隐藏的意见,不添加动态查看。如果以编程方式取消隐藏认为,这是不是在我的ElementTree的,但是当我把它摆在首位未隐藏,它的存在,因为它应该...

+0

@Tterheulle Whenver我已经试过UI测试我最终得到不同的结果。尝试在其他机器上进行测试,它可能会工作。我遇到了一个类似的问题,那就是我的个人mac上没有录制功能,但是它在我工作场所的mac上工作。 –

回答

0

问题是如下:如果你这样做

self.tableView.beginUpdates() 
      //do some hiding of cell-views 
      self.tableView.endUpdates() 

elementtree不重建。请做一个

   self.tableView.reloadRows(at: [self.tableView.indexPath(for: cell)!], with: UITableViewRowAnimation.none) //when unhiding inside tableView.beginUpdates, the elementtree(testing) is not auto-rebuild 

事后