如何在没有VS2010终极版的机器上运行Coded UI测试

时间:2015-02-04 13:43:41

标签: asp.net visual-studio-2010 coded-ui-tests

我在VS2010(Ultimate)中创建了一个CodedUI测试,并从中调用了此测试 一个控制台应用程序(它构建在同一个.Net Framework 4中)。这在我的机器或安装了VS2010 Ultimate的任何其他机器上运行良好。 当我尝试在没有VS2010 Ultimate的32位机器上运行CodedUI测试时,它会抛出以下错误:

Unhandled Exception: Microsoft.VisualStudio.TestTools.UITest.Extension.PlaybackFailureException: Cannot perform '' on the control. Additional Details: 
The control details were not specified. ---> System.Runtime.InteropServices.COMException:
 Retrieving the COM class factory for component with CLSID {6DA215C2-D80D-42F2-A
514-B44A16DCBAAA} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
   at Microsoft.VisualStudio.TestTools.UITest.Playback.ScreenElement.InitPlayback()
   at Microsoft.VisualStudio.TestTools.UITesting.Playback.Initialize()
   --- End of inner exception stack trace ---
   at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowComException(COMException innerException, IPlaybackContext context)
   at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowException(SystemException exception, IPlaybackContext context)
   at Microsoft.VisualStudio.TestTools.UITesting.Playback.Initialize()
   at CitrixLANConsole.Program.Main(String[] args) in c:\users\<username>\documents\visual studio 2010\Projects\CitrixLANConsole\CitrixLANConsole\Program.cs:
line 27.

有谁能告诉我如何在没有安装VS2010 Ultimate的机器上运行测试?

1 个答案:

答案 0 :(得分:0)

我认为您的问题出在平台目标中:您正试图在x64系统上运行32-bit代码。更改应用程序的Target Platform并再次运行测试。

问题的原因是你试图在测试中操纵错误的类。


嗯,我认为Ultimate包装中有些东西是你无法在其他机器上获得的。不能肯定地从你的堆栈跟踪中说出来,但是试着找到你所缺少的类,并将库放在GAC中。

regsvr32没有的原因是.NET库试图在GAC中找到所需的一个库,而不是在某些寄存器条目中。有关MSDN的更多信息,请参阅。