我遇到了一个问题,我的测试似乎是缓存了控件的陈旧版本。
在我的应用程序中,屏幕上有一个网格,其中包含数据行和可自定义的列。列取决于用户所在的文件夹,用户可以单击要切换到的文件夹。切换时,网格会刷新并显示包含该文件夹列的新行数据。
查询网格数据时出现问题。如果我在切换文件夹之前尝试收集它,那么没有问题 - 但是,如果切换文件夹并使用CodedUI从网格收集数据,则它返回原始文件夹中存在的数据(即,如果第一个文件夹有4列,第二列有7列,那么即使切换到第二列,查询也会返回4列...)
尽管我不需要故意找到网格,但仍然会发生这种情况。在单击第二个文件夹之前,我不会在测试中实例化网格CodedUI对象。我的假设是,当搜索其他控件(例如文件夹)时,CodedUI会找到网格并对其进行缓存。
我的问题是:有没有办法手动清除控制缓存并要求它找到最新版本的网格?我尝试了各种解决方案,例如.Find()函数,并在PlaybackSettings和对象的SearchConfigurations中启用AlwaysSearch,但到目前为止还没有任何解决方案......
(如果值得一提,我正在使用DevExpress WPF控件。)