编码 UI - 自定义 属性

Coded UI - custom property

我正在使用 code first approach 进行一个编码 UI 项目,我 运行 遇到这样一种情况,我感兴趣的元素没有 "ID" 属性,而是 "data-id" 属性。

如何在下面的示例中的 "Original" link 上启动 Mouse.Click():

<div class="not-unique" data-uid="93fdb678-2d04-4543-b129-e146453704e6">
    <div class="editor-row">
        <div>
            <ul>            
                <li><a id="dwnOriginal_247" href="">Original</a></li>
                <li><a id="dwnOriginal_247" href="">Error</a></li>
            </ul>
        </div>
    </div>
</div>

如果您像这样设置定位器,则可以使用自定义 属性:

public HtmlHyperlink originalLink()
{
    HtmlHyperlink target = new HtmlHyperlink(browser);
    target.SearchProperties["customId"] = "dwnOriginal_247";
    // and then find the Original link using InnerText
    target.SearchProperties.Add(HtmlHyperlink.PropertyNames.InnerText, "Original");
    return target;
}

然后,您可以简单地为您的点击回调 originalLink():

mouse.Click(originalLink());