在前一系列IronRuby中一直是围绕这UI自动化测试来写的,今天基本测试框架完成了,测试人员没有安装VS2010,不知道能否跑,所以就在测试人员机器上跑跑看,但是问题就出现了
现象
运行run.bat跑单元测试时,出现以下错误提示:大概意思是说没有装载哪个COM吧
原因分析
查看Playback.Initialize代码,发现初始化是需要新建一个类
1 |
internal static void InitPlayback()<BR>{<BR> if (Playback == null )<BR> {<BR> try <BR> {<BR> Playback = (IRPFPlayback) new CRPFPlaybackClass();<BR><BR>[ComImport, Guid( "<SPAN style=" COLOR: #ff0000 ">6DA215C2-D80D-42f2-A514-B44A16DCBAAA</SPAN>" ), TypeLibType(( short ) 2), ClassInterface(( short ) 0)]<BR> internal class CRPFPlaybackClass<BR>{<BR>}<BR> |
从上面红色部分的Guid串可以看出,它和报错显示的是一样的,所以可以推断这一定是由于某个COM文件缺失导致
解决问题
打开注册表,搜索6DA215C2-D80D-42f2-A514-B44A16DCBAAA,马上就能直到缺少的是文件"c:\Program Files\Common Files\Microsoft Shared\VSTT\10.0\Microsoft.VisualStudio.TestTools.UITest.Playback.Engine.dll" ,于是我把这个文件考给测试人员,并调用regsvr32 注册,再次运行脚本,一切正常!
本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518054,如需转载请自行联系原作者