CodedUI Automation中的RibbonComboBox问题

时间:2014-12-08 13:26:14

标签: c# coded-ui-tests

1)我有一个telerik RadRibbonComboBox控件作为Ribbon Header的一部分,在我的应用程序中有一个常规的RadComboBox控件。   每个组合框都装有少量物品。

2)当使用测试构建器选择常规RadComboBox控件中的项目作为encodeui自动化记录的一部分时,   item已在其父控件UIRadComboBoxComboBox下正确添加为UIRadComboBoxItem,其控件类型为ListItem   和className为Uia.RadComboBoxItem。我可以正确读取这个RadComboBoxItem,没有任何问题。

3)但是当选择RadRibbonCombobox控件中的项目时,项目已经完成   作为ListBoxItem(而不是comboboxitem)添加在间接父控件下,而不是它   direct parent as UIXXXListBoxItem,controlType为ListItem,ClassName为Uia.ListBoxItem   (项目未在其直接父UIRadRibbonComboBoxComboBox控件下添加为组合框)。   在运行测试时,播放无法找到此项控件。我尝试通过设置父项来修复此错误   UIRadRibbonComboBoxComboBox作为UIMap文件中UIXXXListBoxItem的容器,但又出现了同样的问题。

4)此外,我尝试按照以下方式直接从UIMAp文件中选择所需的组合框项目,并记录该特定操作,

this.UIAssignedProposalsPreWindow.UIRadRibbonViewTabList.UISearchRibbonViewContCustom.UIRadRibbonComboBoxComboBox.SelectedItem="Test1"
this.UIAssignedProposalsPreWindow.UIRadRibbonViewTabList.UISearchRibbonViewContCustom.UIRadRibbonComboBoxComboBox.SelectedIndex=1;
this.UIAssignedProposalsPreWindow.UIRadRibbonViewTabList.UISearchRibbonViewContCustom.UIRadRibbonComboBoxComboBox.SetPreoperty("SelectedIndex",1);

但上述更改失败,错误

  

“找不到元素。内部异常:由于操作无效,操作无效   对象的当前状态。“

请帮助我解决此问题,因为此问题阻碍了我的工作。

1 个答案:

答案 0 :(得分:0)

问题是我的调试。实际上我在组合框下拉单击操作和组合框项目选择操作之间添加了一个断点。当我在点击组合框下拉后试图去除我的测试时,我不知不觉地在这两个操作之间引入了一些延迟。所以项目选择操作失败,因为它无法在屏幕上找到扩展的组合框。当我运行测试时,直接测试通过正确..

- 我很糟..

谢谢, Raghu。