我打算从另一个项目(在同一个解决方案中)运行我的编码UI测试。我在我的winform app项目中添加了CUIT项目的参考。我也添加了这些引用
Microsoft.VisualStudio.TestTools.UITesting.dll
Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll
Microsoft.VisualStudio.TestTools.UITest.CodeGeneration.dll
Microsoft.VisualStudio.TestTools.UITest.Framework.dll
Microsoft.VisualStudio.TestTools.UITest.Playback.dll
我的代码是这样的
Playback.Initialize();
TestProject.CodedUITest1 coded = new TestProject.CodedUITest1();
coded.CodedUITestMethod1();
Playback.Cleanup();
但是,我在Playback.Initialize()
电话上遇到了例外情况。
这是消息......
"An unhandled exception of type 'Microsoft.VisualStudio.TestTools.UITest.Extension.PlaybackFailureException' occurred in Microsoft.VisualStudio.TestTools.UITesting.dll"
有人说安装Test agent 2010 / Test agent10可以解决这个错误。 我安装了MS Visual Studio Test Agent 2010,但发生了同样的错误。
我在这里做错了什么? 感谢
答案 0 :(得分:0)
我尝试以与您相同的方式运行测试,它对我有用。
以下是我在项目中添加的参考dll
请确保您已添加所有dll。如果您无法找到dll,请在C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ PrivateAssemblies中查找它们。
如果这不起作用,请提供内部异常的详细信息。
答案 1 :(得分:0)
我找到了问题的答案。我发现内部异常的消息是
"Retrieving the COM class factory for component with CLSID {27876903-E697-4406-BF49-1B8B92CB8735} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."
在挖掘之后,我发现我有一个32位的第三方dll,我正在64位机器上运行。冲突是64位进程试图在64位机器中调用32位进程。
解决方案是将项目属性更改为“X86”计算机而不是“任意”。