编码的UI测试SetProper问题

时间:2011-12-16 02:47:45

标签: c#-4.0 coded-ui-tests

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。

如何更改控件类型?

1 个答案:

答案 0 :(得分:0)

我认为您不想更改控件类型。我建议尝试waitforready()或find()。可能发生的情况是,最初发现控件被禁用时,find()会将实际控件与当前的networkSelectBox同步。 WaitForReady()可能是这里更好的方法,虽然它会隐式刷新组合框的值,直到它可用于输入或超时已过期。

我怀疑你会遇到HtmlComboBoxes这个问题,但是有几个WinComboBox我遇到过无法使用SelectedItem或SelectedIndex设置的问题。我最后做了KeyBoardSendkeys(Combobox,“firstLetterOfItem”),直到所选的值正确。