我正在尝试使用Coded UI验证WPF数据网格中列标题的文本。我正在使用完全编码的方法,而不是使用记录和回放方法,因为我觉得它给了我更多的灵活性。但是我很难获得Coded UI来找到控件。我正在尝试验证以下控件中的Display Text属性:
由于这没有自动化ID,我搜索了(父)列标题对象:
下面的代码片段是我用来提取列标题文本的代码:
WpfTable table = new WpfTable("mainWindow");
table.SearchProperties.Add(WpfTable.PropertyNames.AutomationId, "gridId");
table.WaitForControlReady(15000);
table.SetFocus();
WpfCell cell = new WpfCell(table);
cell.SearchProperties.Add(WpfControl.PropertyNames.AutomationId, "columnHeaderId");
cell.WaitForControlExist(5000);
string clientIdHeaderDisplayText = (new WpfText(clientIdHeader)).DisplayText;
我面临的问题是我一直收到这个错误:
TestMethod抛出异常: Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException: 播放无法通过给定搜索找到控件 属性。其他细节:TechnologyName:'UIA'FrameworkId: 'Wpf'ControlType:'Text'
---> System.Runtime.InteropServices.COMException:错误HRESULT E_FAIL有 已通过调用COM组件返回。
只要执行上述代码段中的最后一行,就会抛出异常。有人可以帮我解决这个问题吗?