C# CodedUI是否找到没有ID的低级列表项?

C# CodedUI是否找到没有ID的低级列表项?,c#,unit-testing,automated-tests,coded-ui-tests,C#,Unit Testing,Automated Tests,Coded Ui Tests,我正在用C#测试CodedUI,但遇到了一些问题。我得到了一个包含ID的,然后是一个非唯一标识的,带有几个标签,如下所示: <div id="uniqueIdValue" class"long_class" activetabindex="0" sfwtabcontainer="true"> <ul class="long_class2">::before <li class="sharedListItemClass" sfwtabheader="

我正在用C#测试CodedUI,但遇到了一些问题。我得到了一个包含ID的
,然后是一个非唯一标识的
,带有几个
  • 标签,如下所示:

    <div id="uniqueIdValue" class"long_class" activetabindex="0" sfwtabcontainer="true">
       <ul class="long_class2">::before
          <li class="sharedListItemClass" sfwtabheader="true">...</li>
          <li class="sharedListItemClass" sfwtabheader="true">
               <a href="#someValue">History</a>
          </li>
          <li class="sharedListItemClass" sfwtabheader="true">...</li>
          ::after
       </ul>
    
    导致无法找到控件。有人能帮我吗?

    像这样的:

        var browser = BrowserWindow.Launch("url");
    
        private void ClickLink()
        {
    
            var parent = GetPaneID(browser, "uniqueIdValue");
            var child = parent.GetChildren()[0];
            var child2 = child.GetChildren()[1];
            var child3 = child2.GetChildren()[0];
            Mouse.Click(child3);       
        }
    
        public HtmlDiv GetPaneID(UITestControl parent, string id)
        {
            var gpane = new HtmlDiv(parent);
            gpane.SearchProperties.Add(HtmlDiv.PropertyNames.Id, id);
            return gpane;
        }
    
    其中方法GetPaneId()如下所示:

        var browser = BrowserWindow.Launch("url");
    
        private void ClickLink()
        {
    
            var parent = GetPaneID(browser, "uniqueIdValue");
            var child = parent.GetChildren()[0];
            var child2 = child.GetChildren()[1];
            var child3 = child2.GetChildren()[0];
            Mouse.Click(child3);       
        }
    
        public HtmlDiv GetPaneID(UITestControl parent, string id)
        {
            var gpane = new HtmlDiv(parent);
            gpane.SearchProperties.Add(HtmlDiv.PropertyNames.Id, id);
            return gpane;
        }
    

    我甚至没有编码的UI(VS降级),这样我就可以测试了,但是当id是
    uniqueIdValue
    时,为什么要搜索id
    uniqueDivIdentifier
    ?同样,class
    long多个类
    vs
    long\u类
    ?对不起,这是我这边的代码混淆。它们确实匹配,我只是不知道如何获得第二个列表项,只有包含
      的父div,然后是所有的
    • 。您是否尝试过找到该列表项的独特之处?