当我正在调试或运行我的编码UI自动化项目时遇到了这个问题,我得到了标记为“{”的异常,该对象已经与其底层RCW分离,无法使用。“System.Exception {System.Runtime.InteropServices.InvalidComObjectException}“每次来自浏览器窗口,其中包含嵌入的pdf阅读器。每次我检索窗口并尝试单击返回时都会发生这种情况。当我对它执行back方法时它会barfs。我尝试了不同的东西,但没有一个工作,包括播放等待。
var hereIsmypdf = ReturnPDFDoc();
public BrowserWindow ReturnPDFDoc()
{
Playback.Wait(1000);
var myPdFdoc = GlobalVariables.Browser;
return myPdFdoc;
}
hereIsmypdf.Back();
答案 0 :(得分:0)
我能解决这个问题的唯一方法就是不使用BrowserWindow类。我最终使用WinWindow类,只是从它获取窗口的选项卡。 BrowserWindow类似乎触发了异常"已经与其底层RCW分离的COM对象无法使用。" System.Exception {System.Runtime.InteropServices.InvalidComObjectException}"每当我试图找回它。我希望这有助于某人或某人有更好的方法来处理这个问题。
对于投票我的问题的人,我确实试图弄明白。对不起,我不清楚我在问社区是什么,或者无法正确表达这种痛苦。我确定有人可能正在经历同样的痛苦,并且很难说明最新情况。
这是关于我最终做什么的代码
public WinTabPage ReturnPDFDoc()
{
WinWindow Wnd = new WinWindow();
Wnd.SearchProperties[BrowserWindow.PropertyNames.ClassName] = "IEFrame";
WinTabList tabRoWlist = new WinTabList(Wnd);
tabRoWlist.SearchProperties[WinTabPage.PropertyNames.Name] = "Tab Row";
WinTabPage myTab = new WinTabPage(tabRoWlist);
myTab.SearchConfigurations.Add(SearchConfiguration.AlwaysSearch);
myTab.SearchProperties[WinTabPage.PropertyNames.Name] = "something";
//UITestControlCollection windows = newWin.FindMatchingControls();
return myTab;
}