我对Coded UI测试很陌生,我开始测试我们的Web应用程序。当我记录动作时,我的应用程序中的下拉菜单不会被识别为Comboboxes,而是在属性中我将其控件类型视为Pane。
<span class="k-widget k-dropdown k-header select dropDown" unselectable="on" role="listbox" aria-haspopup="true" aria-expanded="false" tabindex="33" aria-owns="EWDBaseConditionGuid_listbox" aria-disabled="false" aria-readonly="false" aria-busy="false" aria-activedescendant="EWDBaseConditionGuid_option_selected" style=""><span unselectable="on" class="k-dropdown-wrap k-state-default"><span unselectable="on" class="k-input">Base Angle</span><span unselectable="on" class="k-select"><span unselectable="on" class="k-icon k-i-arrow-s">select</span></span></span><select class="select dropDown" data-val="true" data-val-required="The EWDBaseConditionGuid field is required." id="EWDBaseConditionGuid" name="EWDBaseConditionGuid" data-role="dropdownlist" style="display: none;"><option value="013efe04-3c2d-436b-96e6-af76a8b6cf47">Formed Base Trim</option><option value="d430bc46-b92f-4e0c-96f4-7747727d0a1a" selected="selected">Base Angle</option><option value="5a30c88f-6b2b-4400-86ce-3e9601d17c0f">Base Channel</option><option value="712db331-b775-4020-92c1-07eb8049acb5">Low Base Girt</option></select></span>
<span unselectable="on" class="k-input">Base Angle</span>
<span unselectable="on" class="k-select"><span unselectable="on" class="k-icon k-i-arrow- s">select</span></span>
<select class="select dropDown" data-val="true" data-val-required="The EWDBaseConditionGuid field is required." id="EWDBaseConditionGuid" name="EWDBaseConditionGuid" data-role="dropdownlist" style="display: none;"><option value="013efe04-3c2d-436b-96e6-af76a8b6cf47">Formed Base Trim</option><option value="d430bc46-b92f-4e0c-96f4-7747727d0a1a" selected="selected">Base Angle</option><option value="5a30c88f-6b2b-4400-86ce-3e9601d17c0f">Base Channel</option><option value="712db331-b775-4020-92c1-07eb8049acb5">Low Base Girt</option></select>
据我所知,如果十字准线指向'select'标签,UIMap会将一个元素识别为ComboBox,但在我的情况下,它指向第一个'span'标签,因此它不会渲染作为组合框控制。如果有人能帮我解决这个问题,我将不胜感激。
答案 0 :(得分:0)
理想情况下,您应该可以选择组合框。 另一种方法是获取span标记的子代(这将为您提供实际的下拉),然后进行手动编码。 例如:如果父对象是&#34; SpanObj&#34;
HtmlComboBox drpDown= new HtmlComboBox(SpanObj);
drpDown.SearchProperties[HtmlComboBox.PropertyNames.Class] = "select dropDown";
drpDown.Find();
答案 1 :(得分:0)
我花了很多时间尝试从Telerik下拉菜单中选择我们产品的项目。我做了'逻辑'的事情(这与MS的对立)&amp;在下拉菜单中设置断点。当我在调试器中插入它时,下拉打开了&amp;马上关闭。诀窍是使用编码的UI测试构建器(例如,鼠标。点击(UIMap.UIRebalxXTradingInternWindow.UIRebalxXTradingDocument12.UIDEMO98Custom,new Point(160,8));&amp ;;它会被选中。这是一个尝试&amp;调整方案以从UIMapDesigner文件中找到正确的选择。