我有基于Web的应用程序,我正在尝试单击超链接,在我的自动化开发机器中,它工作正常,但如果我在其他机器(VM)上运行相同,请说使用测试代理和测试测试机器控制器通过MTM。我收到以下错误消息
Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToPerformActionOnHiddenControlException:无法对隐藏控件执行“单击”。额外细节: TechnologyName:'Web'。
我关注了几个msdn博客并在我的Windows上卸载了安全更新,目前我在我的开发盒上使用IE11并在我的开发盒上使用测试盒和VS 2010 premium
我也尝试过使用下面的BoundingRectangle属性
UITestControlCollection uic = link.FindMatchingControls();
foreach (UITestControl ui in uic)
{
if (ui.BoundingRectangle.Width > 0)
{
Mouse.Click(ui);
break;
}
}
但是我收到了这个错误:
Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException:以下元素不再可用:IE Web控件;进程ID [5136],窗口句柄[1705946]其他细节:
我请求帮助。因为我正在努力找到发生这种情况的真正原因。超链接在屏幕上可见,但我不明白为什么它被隐藏用于播放,我也无法调试它,因为它在VM上,我正在使用Teat Agent从MTM运行它。
请求帮助
谢谢,
Keerthi
答案 0 :(得分:0)
看来问题是您的控件被隐藏,尝试使用边界矩形创建并单击" clickpoint"单击作为隐藏控件的变通方法。
var clickPoint = new Point(control.BoundingRectangle.X + control.BoundingRectangle.Width / 2, control.BoundingRectangle.Y + control.BoundingRectangle.Height / 2);
Mouse.Click(clickPoint);