编码 UI 测试无法访问 BrowserWindow 或其中的 DOM

Coded UI Test can't access BrowserWindow or DOM inside of it

我有一个编码的 ui 测试项目,是我从头开始创建的(没有记录,它用于大型 MVC 站点,所以我需要它真正有条理)并且它 运行 完美地我 运行 它来自 VS 2012 测试资源管理器。然而,当我尝试从外部控制台应用程序 运行 连接它时,BrowserWindow 的实例表现得很奇怪(而且不是很好)。

我在尝试解决这个问题时的测试只是在测试方法的开头有这些行:

BrowserWindow browserWindow = BrowserWindow.Launch(new Uri("whateverurl.com"));
Mouse.click(browerWindow);

当我从控制台应用程序 运行 它时,单击会引发有关控件被阻止的错误。

如果我尝试 运行宁任何类似的东西:

browserWindow.ExecuteScript("return true;");

我得到一个 UITestException "Specified cast is not valid"(这在测试资源管理器中也能正常工作)。

我已确保播放在控制台应用程序中初始化,并且 Browserwindow 的实例在调试器中看起来是相同的 运行在控制台应用程序和测试资源管理器中使用它。

有人知道是什么原因造成的吗?

根据这个答案,我尝试将 [STAThread] 属性添加到主函数,现在它可以工作了。

c# specified cast is not valid while assigning mshtml.HTMLDocument.frames