我声明了ID文本框,如果声明ID重复,claim found
链接会显示在声明ID文本框下方。单击此链接时,它会显示现有的声明详细信息。我需要测试这个点击事件并弹出。
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
”
这可能是个问题吗?
请帮忙。
答案 0 :(得分:4)
第二次显示窗口时可能会发生这种情况。对于眼睛来说,两个窗口是相同的,但它们是不同的。第一次出现窗口并且Coded UI访问它时,上面显示的属性代码设置this.mClaimFoundHyperlink
以引用该窗口。当窗口第二次显示时,this.mClaimFoundHyperlink
仍然引用第一个窗口,该窗口不再可用。因此例外。
有时刷新物业有效。尝试拨打this.mClaimFoundHyperlink.Find()
。
另请参阅this question有关类似问题的信息。
答案 1 :(得分:0)
我最近遇到了类似的问题,结果问题是UITestControl(在我的情况下是一个HtmlCell)只有在浏览器窗口最大化时才会被隐藏。我在尝试点击之前使用此代码恢复窗口:
BrowserWindow browser.Restored = true;
它也可能适合你。
另外需要注意的是,运行测试的VM的屏幕分辨率必须是一定大小才能使Click操作正常工作。我知道这很疯狂,但是我在这个问题上挣扎了一个星期才开始工作。尝试提高屏幕分辨率。