在前一系列IronRuby中一直是围绕这UI自动化测试来写的,今天基本测试框架完成了,测试人员没有安装VS2010,不知道能否跑,所以就在测试人员机器上跑跑看,但是问题就出现了

现象

运行run.bat跑单元测试时,出现以下错误提示:大概意思是说没有装载哪个COM吧

测试:脱离VS2010使用自动化测试时出现 6DA215C2-D80D-42F2-A514-B44A16DCBAAA 错误_第1张图片

原因分析

查看Playback.Initialize代码,发现初始化是需要新建一个类

 

view source print ?
1 internal static void InitPlayback()
{
   
if (Playback == null)
    {
       
try
        {
            Playback = (IRPFPlayback)
new CRPFPlaybackClass();

[ComImport, Guid(
"COLOR: #ff0000">6DA215C2-D80D-42f2-A514-B44A16DCBAAA"), TypeLibType((short) 2), ClassInterface((short) 0)]
internal class CRPFPlaybackClass
{
}

从上面红色部分的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 注册,再次运行脚本,一切正常!

测试:脱离VS2010使用自动化测试时出现 6DA215C2-D80D-42F2-A514-B44A16DCBAAA 错误_第2张图片

 

欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]