public HtmlComboBox NetworkSelectBox
{
get
{
HtmlComboBox networkSelectBox = new HtmlComboBox(ConfigVMPage);
networkSelectBox.SearchProperties[HtmlComboBox.PropertyNames.Id] = "vnic";
networkSelectBox.SearchProperties[HtmlComboBox.PropertyNames.Name] = "vnic";
networkSelectBox.FilterProperties[HtmlComboBox.PropertyNames.ControlDefinition] = "style=\"WIDTH: auto\" id=vnic name=vnic r";
return networkSelectBox;
}
}
上面是我定义UI元素的代码,我想设置属性 NetworkSelectBox.SelectedItem =“LabNetworkSwitch”;
我已经在其他元素和所有成功上使用这种方式,但在这一个我收到了错误消息 Microsoft.VisualStudio.TestTools.UITest.Extension.ActionNotSupportedOnDisabledControlException:无法在禁用或只读控件上执行具有值“LabNetwokrSwitch”的SelectedItem的SetProperty。
如何更改控件类型?
答案 0 :(得分:0)
我认为您不想更改控件类型。我建议尝试waitforready()或find()。可能发生的情况是,最初发现控件被禁用时,find()会将实际控件与当前的networkSelectBox同步。 WaitForReady()可能是这里更好的方法,虽然它会隐式刷新组合框的值,直到它可用于输入或超时已过期。
我怀疑你会遇到HtmlComboBoxes这个问题,但是有几个WinComboBox我遇到过无法使用SelectedItem或SelectedIndex设置的问题。我最后做了KeyBoardSendkeys(Combobox,“firstLetterOfItem”),直到所选的值正确。