无法对隐藏的控件执行'Click'



我已声明 ID 文本框,如果声明 ID 重复,则声明 ID 文本框下方会显示claim found链接。单击此链接时,它会显示现有的索赔详细信息。我需要测试此单击事件和弹出窗口。

 public HtmlHyperlink UIClaimFoundHyperlink
 {
     get
     {
         if ((this.mClaimFoundHyperlink == null))
         {
             this.mClaimFoundHyperlink = new HtmlHyperlink(this);
             #region Search Criteria
             this.mClaimFoundHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.Id] = "aClaimLink";
             this.mClaimFoundHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.Name] = null;
             this.mClaimFoundHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.Target] = null;
             this.mClaimFoundHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.InnerText] = "Claim Found";
             this.mClaimFoundHyperlink.FilterProperties[HtmlHyperlink.PropertyNames.Title] = null;
             this.mClaimFoundHyperlink.FilterProperties[HtmlHyperlink.PropertyNames.Class] = "listTblData-hotlink-noalign";
             #endregion
         }
         return this.mClaimFoundHyperlink;
     }
 }
if (claimFound_Hyperlink.Exists)
{
   Mouse.Click(claimFound_Hyperlink);
}

但它在投掷 Cannot perform 'Click' on the hidden control.

尝试了现有的解决方案,但对我不起作用。我可以看到 UI 上的控件。

我在"alt"type"value attribute"上看到异常

--> ' claimFound_Hyperlink.Alt ' 抛出了一个类型的异常 ' System.NotSupportedException '

这可能是问题吗?

请帮忙。

当窗口再次显示时,可能会发生这种情况。在眼中,两个窗户是相同的,但它们是不同的。首次出现窗口并且编码的 UI 访问它时,上面显示的属性代码this.mClaimFoundHyperlink设置为引用该窗口。当窗口第二次显示时this.mClaimFoundHyperlink仍引用第一个窗口,该窗口不再可用。因此例外。

有时刷新属性有效。尝试拨打this.mClaimFoundHyperlink.Find()

另请参阅有关类似问题的问题。

我最近遇到了类似的问题,结果发现问题是 UITestControl(在我的情况下是 HtmlCell)仅在浏览器窗口最大化时才不可见。在尝试单击之前,我使用此代码还原窗口:

BrowserWindow browser.Restored = true;

它可能也适合您。

另外需要注意的是,我在其中运行测试的 VM 的屏幕分辨率必须为特定大小,单击操作才能正常工作。我知道这很疯狂,但在让它工作之前,我为此挣扎了一个星期。也尝试提高屏幕分辨率。

最新更新