我有一个我从头创建的编码ui测试项目(没有录制,它适用于大型MVC网站所以我需要它真正有条理)并且当我从VS 2012测试资源管理器运行它时,它运行得很好。但是,当我尝试从外部控制台应用程序运行它时,BrowserWindow的实例表现得很时髦(并且不是很好)。
我在尝试解决这个问题时的测试只是在测试方法的开头有这些行:
BrowserWindow browserWindow = BrowserWindow.Launch(new Uri("whateverurl.com"));
Mouse.click(browerWindow);
当我从控制台应用程序运行它时,单击会引发有关被阻止控件的错误。
如果我尝试运行类似的东西:
browserWindow.ExecuteScript("return true;");
我得到一个UITestException“指定的强制转换无效”(这在Test Explorer中也可以正常工作)。
我已确保在控制台应用程序中初始化播放,并且调试器中的Browserwindow实例在控制台应用程序和测试资源管理器中运行时看起来相同。
任何人都知道可能导致这种情况的原因吗?
答案 0 :(得分:0)
根据这个答案,我尝试将[STAThread]属性添加到主函数中,现在它可以正常工作。
c# specified cast is not valid while assigning mshtml.HTMLDocument.frames