Visual Studio编码的UI:通过CSS选择器选择HTML元素

时间:2014-09-09 17:17:34

标签: coded-ui-tests

我在选择Microsoft的CodedUI框架中的项目时遇到了问题。我有一个页面,其中包含可以通过选中复选框添加/删除的项目。复选框上没有唯一ID,在查找特定标签/类组合时,我在选择第一项以外时遇到问题。是否有一些技巧可以立即显现出来。

1 个答案:

答案 0 :(得分:1)

这里有两种不同的选择:
1.您可以通过选择与其相关的项目来选择对象

<div id="parent">
    <label id="checkbox1234">MyCheckBox</label>
    <input checked="false"></input>
</div>

...可以选择为:

HtmlDiv parent = new HtmlDiv(browserWindow);
parent.SearchProperties["innerText"] = "MyCheckBox";

HtmlCheckBox target = new HtmlCheckbox(parent);
target.SearchProperties["TagName"] = "INPUT";
return target;

HtmlLabel sibling = new HtmlLabel(browserWindow);
sibling.SearchProperties["id"] = "checkbox1234";
UITestControlCollection col = sibling.GetParent().GetChildren();
foreach (UITestControl control in col)
{
    if (control.ControlType.ToString().Equals("HtmlCheckBox"))
    {
        return (HtmlCheckBox)control;
    }
}
  1. 您可以使用these test utilities创建的Gautam Goenka。就识别对象的内容并将其用于断言而言,他们为我创造了奇迹。尽管如此,如果您没有任何基于内容识别对象的有意义的方法,这也无济于事。当所有其他方法都失败时,请向HTML添加一些有用的标识属性。