不谋万世者,不足谋一时;不谋全局者,不足谋一域。君子敏于事而慎于言 新浪微薄:土司阿哈

关于QTP中“General Error while saving the test"的解决方法 (转)

上一篇 / 下一篇  2009-01-20 20:07:34 / 个人分类:qtp

1208328177
  • 自动化测试:
  • 测试文档:
 
51Testing软件测试网U \/D F2Yts,c#a@(O"d

今天在使用QuickTest录制教本的时候,无法保存所录制的脚本,于是到网上搜索了一下解决办法,别说还挺灵,贴出来,共享!
/Mi8R4m8sh#F0
先将段代码保存为VBS文件,然后运行.51Testing软件测试网Fk t'T(F1T

G/[H7e+L]a,D0   Dim fso, MyFile51Testing软件测试网G"EH!{r6Gin3P%|
   Set fso = CreateObject("scrīpting.FileSystemObject")
BJ`]1t&{0   Set MyFile = fso.CreateTextFile("C:\testfile.txt", True)51Testing软件测试网GY:KT&|w W
   MyFile.WriteLine ("This is a test")
C#J%pC*`.Tp-r_y0   MyFile.WriteLine ("This is another test")
M+Y$fO*]#y j0   MyFile.Close 51Testing软件测试网3G0jet%^F~.Z

g.`1a#n2Z3K.ikj0运行提示有错误:ActiveX部件不能创建对象: 'scrīpting.filesystemobject'
dMEZx g:l0这是操作系统的问题, 是activex有问题!
QTP是集成这个进行文件保存的
51Testing软件测试网Qe@[8?5j(}9rl$W

51Testing软件测试网O0hL/fN KBM

去System32目录下查看是否有个scrrun.dll的文件,如果有,就regsvr32   scrrun.dll一下,没有的话,考一个过来51Testing软件测试网#v.{0U aw5c1k'r
51Testing软件测试网o9T)V3gT-|{*m
ActiveX部件不能创建对象: scrīpting.FileSystemObject51Testing软件测试网GLs1D ]a\
51Testing软件测试网vGK+C:kw:I
错误描述:服务器没有启动FSO支持51Testing软件测试网 c LO N S/OR
解决方法:
51Testing软件测试网0Bp8`o;Sa5\4p

51Testing软件测试网A.}a X*W ^$c

开启/关闭系统FSO支持方法
N*k'WV(d@%M:uY0
-`s D1L+p0win2000系统:51Testing软件测试网4w!K#I,^lY
在CMD命令行状态输入以下命令:51Testing软件测试网/xmSUC+f~

\M7T6a2Q{,FUy0关闭命令:RegSvr32 /u C:\WINNT\SYSTEM32\scrrun.dll51Testing软件测试网I lOdh&V6c0o
打开命令:RegSvr32 C:\WINNT\SYSTEM32\scrrun.dll
51Testing软件测试网Xt*C)Jn6]&c&W6o*j"F#V

51Testing软件测试网"nT E~2y6r

win200351Testing软件测试网 Cwo-b/K y!_AQ
运行regsvr32 scrrun.dll即可。
/fh0Z]N,l9U0
$jQ9C4IV9AoFH }0如果想关闭FSO组件,请运行 regsvr32 /u scrrun.dll即可。
/kO5N8S eF:M(^3y q051Testing软件测试网*}@h,A4OrLcG%d
初识Regsvr32 51Testing软件测试网O~7y MPU.lz1VE

s7O#n.m_%Fx!l0
    想必Regsvr32大家一定都不陌生吧,在一些电脑教程或电脑杂志上总能看到它的身影,可如此一个高出镜率的"小明星"在我们很多人的眼里却显得十分的神秘,原来一般的文章都很少对它进行介绍,最多只是了了几句介绍一下如何用它解决常见问题,好多朋友可能都已经在一些文章的指导下使用过好多次Regsvr32了,但对它的“身世”却依然不了解,今天笔者就借这篇文章打消大家脑海里的疑团,带大家一起去认识一下这个Regsvr32。
S I-c5_)X N@0
 51Testing软件测试网9O2Qsy c3xh
Regsvr32的背景与功能
%inM&j z/{MUL$@0
 51Testing软件测试网e/j[~6{5l
 Regsvr32是一个Windows系统的内嵌程序,不仅存在于windows 2000/XP下,同时也能在Windows
"]av N/J098中找到它的身影。它的主要功能就是注册或卸载动态链接库文件(DLL)和嵌入式控件(OCX),您可别小看了它呀,有了它,很多
软件操作系统的难题就都可以迎刃而解了。51Testing软件测试网(g|R_f*K aw]

pe*}+G _ m7i`{b0基础篇
51Testing软件测试网Qs+ydFmJ
  51Testing软件测试网LFi@r*Ed~
   刚才咱们说到了DLL和OCX,估计在好多的读者心里都会冒出这样一个问题,这两个东东究竟是什么意思?它们究竟能干什么呢?别急,下面就听笔者慢慢道来。
^6hXp0t ~LG0  DLL文件:DLL文件全称是Dynamic Link Library,中文名字叫做“动态链接库文件”。在Windows系统中,DLL文件就象EXE文件一样能够完成某项功能,但它却无法像EXE 文件那样独立运行,必须由其他程序来调用它,而它对于程序的执行也是非常重要的,大多数的程序或系统组件在执行时,都必须链接到DLL文件才能正常运行。换言之,DLL文件就像是
数据库中一个个公用的函数库,每位设计人员都可以在自己的程序中随意调用它们,这样,不仅不用自己再去编写一些基础功能(因为这些功能都已经由DLL文件完成了),而且还可以让程序的体积更加小巧。因此,如果某个DLL文件发生丢失,就有可能造成某个软件或某个系统模块发生故障而无法正常工作
1lt1o%s#rLb0  OCX文件:OCX文件的全称是Object Linking and Embedding (OLE) Control Extension,中文名字叫做“嵌入式对象控件”,它的作用其实和刚才谈到的DLL文件特别相像,其实所谓的OLE我们平时已经非常熟悉了,简单地说就像在
Word中可以使用Excel数据,写字板中可以嵌入图片文件等等这些功能。打个比方的话,剪贴板就像是个简单的数据共享,而OLE则是一种“对象共享”。51Testing软件测试网~D @ePL1_o
刚才我们谈到Regsvr32的功能是注册与卸载DLL文件的,那么现在又有一个问题困扰着我们,既然DLL文件起到的就是公用函数库的作用,为什么我们不能直接在程序里调用,还要进行一次注册呢?其实,这里注册DLL文件的道理就像是我们第一次入学,虽然你坐在教室里,但是如果没有写你的档案,老师是不会认识你的,自然也就不会找到你。同样道理,如果DLL文件没有注册,系统
注册表中就没有这个DLL文件的相关信息,虽然它已经存在于我们的硬盘上,但等到调用的时候,系统也就根本找不到这个DLL文件而只能报告没有这个DLL存在了,所以在这个时候就需要我们注册DLL文件了。
Y%~N-j&w8B!U0【小提示】
_,Q E$Lv7ZT/Dj0    Windows系统的DLL因为在安装时已经注册好了,因此不用注册,但是如果因为某种情况系统无法识别这些DLL文件时,还是需要我们手动再注册一遍。
0G8H-`;Oab xQ0V ^0Regsvr32命令格式51Testing软件测试网Bi\*H)^Ky:n:c
  说完了上面这些,想必好多朋友都听得有点懵了,别急,知道了上面这些知识,下面咱们再学习Regsvr32命令就容易多了。
_:avEO6E g-`0  大家知道,凡是命令肯定都有一个格式,Regsvr32也不例外。我们以Windows
Mhw*@ rM!w0XP为例,在“开始”菜单→“运行”栏中执行“CMD”命令,打开命令提示行窗口,输入Regsvr32命令后回车,就会看到Regsvr32的命令格式“Regsvr32 [ /u ][ /s ][ /n ][ /i [ :cmdline ] ] dll文件名”,如图1所示。51Testing软件测试网] BPf4\+^
Click to Open in New Window
3Ezt#kz0
Y|{(w `o v$R(M0图1
3x#x)w S{,~+^0  由上可知,Regsvr32命令一共有四个参数,分别是:51Testing软件测试网]$dLj%_ tV U M]Tw~
  /s:注册或卸载
成功后不显示操作成功的提示框51Testing软件测试网3Qc6c-zmP2P
  /u:卸载已安装的控件或DLL文件
hl0a?6qkDb_0  /n:不调用DLLRegisterServer,要注意这个参数应与/i一同使用
b+_F6d Q/b0  /i:调用DLLInstall,并给其传递一个可选的[ cmdline ];当使用/u时用来卸载DLL51Testing软件测试网&n,L7tX+rt'?|UJ
  命令的讲解往往都枯燥难懂,下面咱们就借助一个实例来进一步了解Regsvr32的命令格式。比如我们想注册一个保存在C:\Folder目录中的shmedia.dll动态链接库文件,那么执行的命令就应该是“Regsvr3251Testing软件测试网A;}^b9z&P:Yc
c:\folder\shmedia.dll”,而如果注册过后打算卸载时就更简单了,执行命令“Regsvr32 /u
4G O5g]8h-~e0c:\folder\shmedia.dll”就行了。如图2所示就是正常完成任务的提示窗口
DWYqE'R$}L0Vz0
Click to Open in New Window51Testing软件测试网i2Y-D!|)k2{ f.o

o*C+pf#M2X VF|+bR0使用Regsvr32命令久后,大家也许会经常看到各种各样的错误提示,这里笔者就找了一些比较有代表性的错误,帮大家来分析分析。51Testing软件测试网&s%F9N;T~m+Z9I)q
  错误一:未指定DLL文件的具体路径,如图2所示51Testing软件测试网 H~c3g6kbQ[
Click to Open in New Window
)\CQ IXJx-z0
"w }S*ZR0图3
a`!Fa4f-{uL0  这种错误比较常见,一般出现在注册非系统DLL文件时,原因就是Regsvr32程序在默认路径找不到指定的DLL文件,无法正常完成注册。解决的办法也很简单,只要在命令中指定好DLL文件的具体存储路径就行了,比如“Regsvr32
"m#U|+ZF)J0\tQ#n0c:\folder\abc.dll”就是一个正常的命令。
];Z]C.e}O0  错误二:要注册的文件类型错误,如图3所示51Testing软件测试网+lS7Pu^!W!U T8sL
Click to Open in New Window
b'AMhi6i0
0B"`e N.bH0图451Testing软件测试网7v I8x4b3K8m&Q-G
  这种错误比较少,但容易在新手上出现,原因就是用户欲注册的文件根本就不是一个正常的DLL文件或OCX文件,Regsvr32根本无法完成注册。解决的方法就是指定一个正常的DLL文件或OCX文件就行了。比如原命令为“Regsvr3251Testing软件测试网$z$h1]c*]QF
c:\abc\abc.txt”,而正确的命令就应该是“Regsvr32
RLt~$?7Y0c:\abc\abc.dll”(当然,也得保证这个abc.dll文件已存在并完全正确)
W5L3I U4aK0Y.w7rW0  错误三:键入的命令中未写明DLL文件名,如图4所示51Testing软件测试网4`W} R Z(n+?
Click to Open in New Window51Testing软件测试网+f+}v[1[w5N

'[zu(_3ToA0图551Testing软件测试网9V#c`\/Hby,M2{
  这种错误和上例一样也是主要出现在新手上,它的原因就是根本没有指定DLL文件名,这样Regsvr32自然也就无法得知要对什么进行操作了,所以才会弹出这个提示来。解决的办法就是指定要操作的DLL文件或OCX文件即可。
(]"Y#^6^v6m0实例演练51Testing软件测试网*Y] {c J7\%T
  说了这么多,大家应该对这个Regsvr32命令的功能很清楚了,下面咱们就以几个常见的实例来结束这篇文章。51Testing软件测试网0T ?[s2|+e_
  实例一:卸载Windows XP自带的ZIP文件夹显示功能
+o:LA9}.d)aJ5?0  大家可能都知道在Windows
KM,Q]e4N6J_e6N;s0XP中默认可以显示ZIP文件夹(压缩文件夹),但问题是大多数的朋友却一直在使用第三方解压缩软件
WinRARWinZip,这样XP默认的那个ZIP文件夹显示功能就成了摆设,白白的浪费了大量的系统资源。其实,我们就可以利用刚刚学到的Regsvr32命令来卸载它。
?/Ub uQ-w5l0进入命令提示符窗口,执行命令:Regsvr32 /u zipfldr.dll51Testing软件测试网HK0vG9Rb^ C
即可。当然如果卸载后还想再启用(估计很少有朋友会这么做),只要再执行一遍Regsvr32 zipfldr.dll命令就行了。
o^&?[KgoIQ0  实例二:卸载Windows图片预览功能51Testing软件测试网&S"ce2~ W
  图片预览功能和上面所说的ZIP文件显示功能如出一辙,在强大的第三方图片软件的威胁下,Windows自带的图片预览功能基本上就和鸡肋一般,没有任何优势可言。我们自然也就可以“卸它没商量”。51Testing软件测试网K(wh*G&[-F u
  进入命令提示符窗口,执行命令:Regsvr32 /u shimgvw.dll即可。当然再次启用的方法和前面一样,也是Regsvr32 shimgvw.dll。
:JezG#g x}M0  实例三:
复损坏的IE浏览
51Testing软件测试网f)aM$T*s+nl E#t*wZ
  好多朋友都有过这样的遭遇,IE链接点击无效,无法正常打开新窗口,按照以前的作法,基本上重装一遍IE肯定能解决问题,但这种方法既费时间也费精力,倒不如直接用Regsvr32命令来试试呢。
2j[MP}X%r7^7f n0  进入命令提示符窗口,执行命令:Regsvr32 actxprxy.dll,待正常报告窗口弹出后,再次执行命令:regsvr32 shdocvw.dll,再等待正常报告弹出后,继续执行命令:Regsvr3251Testing软件测试网:H5]TXDa
Oleaut32.dll,等最后这次正常报告弹出后,您就可以重新打开IE试试了,怎么样?保准让你喜出望外。51Testing软件测试网#F%i|'{ niva
  实例四:卸载XP的影像预览功能也很简单
u2m]4H&u)h U }0  同上面所说的图片预览功能一样,XP的影像预览功能(即视频文件预览功能)也可以让我们自由地注册与卸载。51Testing软件测试网+q4^x*bd9mI
  进入命令提示符窗口,执行命令:Regsvr32 /u shmedia.dll即可成功地卸载XP默认的影像预览功能,当然去掉/U参数,即Regsvr32 shmedia.dll命令又可以将影像预览功能重新注册上。
MMd2p"QfwH"}8b0  【小提示】 51Testing软件测试网0_:R]$who/I"t
    以上几个实例均是将这些系统功能反注册,以使系统无法使用到这些功能,并没有删除掉任何系统文件,因此我们也就可以轻松地重新注册这些功能,整个过程都是可逆的,请大家放心试用
ii,HFoHOzL&M0  写在最后51Testing软件测试网1ah0i1xK X
  至此,Regsvr32就给大家介绍完了,不知道对大家有没有帮助。其实,Regsvr32的用处岂止上面几个实例,它还能修复损坏的Windows自动更新,修复损坏的“我的文档”,还可以让Windows51Testing软件测试网Eq0M#h%i*U8AC
Media播放器支持RM这样的文件格式。限于篇幅有限,在此就不一一介绍了,有兴趣的朋友也可以参考相关的其他文章,当然要是有了更好的方法,也要记着和大家一起切磋啊。
51Testing软件测试网N B.A+wE&m


TAG: qtp

 

评分:0

我来说两句

Open Toolbar