单击下拉列表中的列表项

时间:2015-07-06 08:45:53

标签: c# visual-studio-2013 coded-ui-tests

我在与自定义下拉控件进行交互时遇到问题。它在前6次工作正常,但在此之后,由于屏幕调整大小,它无法再找到并单击下拉控件中的选项,返回异常 - 无法单击隐藏控件。我尝试了一个itemField.DrawHighlight();在我正在寻找的控件上,它找到了它,但它无法点击它。我也试过向下滚动,但似乎没有用。

bool addItemCheck = false;
int scrollCheck = 0;
while (Check == false)
{
    var addItem= new HtmlButton(window);
    addItem.SearchProperties.Add(HtmlButton.PropertyNames.Id, "add-new-item");
    Mouse.Click(addItem);

    scrollCheck = scrollCheck + 1;
    if (scrollCheck > 6)
    {
        Mouse.MoveScrollWheel(window, -100);
    }

    var itemDropDown = new HtmlSpan(window);
    itemDropDown .SearchProperties.Add(HtmlSpan.PropertyNames.Class, "item-dropdown");
    itemDropDown .SearchProperties.Add(HtmlSpan.PropertyNames.InnerText, "Select an Item");
    Mouse.Click(itemDropDown );

    addItemCheck = itemDropDown.Exists;
}

bool itemBoxCheck = false;
HtmlCustom itemBox = null;
while (itemBoxCheck == false)
{                                                                             
    itemBox = new HtmlCustom(window);                                         
    itemBox.SearchProperties.Add(HtmlCustom.PropertyNames.Id, "item-listbox");

    var itemField = new HtmlCustom(itemBox);                                  
    itemField .SearchProperties.Add(HtmlCustom.PropertyNames.InnerText, item);
    Mouse.Click(itemField);                                                   

    itemBoxCheck = itemBox.Exists;                                            
}                                                                             

我真的很感激任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试在控件上调用方法InsureClickable()之前尝试单击它。

例如:

ViewController

编辑:

如果这不起作用,您将不得不向下滚动到该项目。

尝试使用:

itemDropDown.EnsureClickable();
 Mouse.Click(itemDropDown);

如果它不起作用,您还必须映射滚动控件并单击它。