51Testing软件测试网z4_;@Pvu[1. 可以通过Function Definition Generator方便的定制自定义函数(Function)51Testing软件测试网l
N.\2CD/Q:t
2. Built-in Function优先级高于User-Defined Function。因此若存在同名的话,QTP会优先调用内置的Function51Testing软件测试网2k"m*J:_q
H.]'t
51Testing软件测试网l-g4cn0aqE3. 通过RegisterUserFunc可以将自定义的函数注册为特定对象的方法,甚至可以覆盖原有对象的方法(Method)。通过UnRegisterUserFunc取消注册51Testing软件测试网mu_(|:~{"J
51Testing软件测试网a}a8X7\NB注册方式:RegisterUserFunc TOClass, MethodName, FunctionName, True
'`?3o/m*W8a08L6i5MunrF0反注册方式:UnRegisterUserFunc TOClass, MethodName
(z$PN`(QJ051Testing软件测试网(P1OT/} sT a4. 定义在Action中的Function以及注册的Method只能在当前Action中使用,若需要供全局使用则定义到Function Library中
jgvF,xM_$h6g;^~0z+N4`;LDS6Y051Testing软件测试网N'{2D5JG$bUWkr
]
5. 如果Method在Action中注册并且被其他Action调用时,该Method定义也适用于调用Action(Calling Action)。但如果Function定义在被调用Action中(Called Action),则Calling Action会因为找不到Function定义而失败。这种情况的话,需要将Function 定义在Function Library中51Testing软件测试网)O!Tr V'b@A YZ5f"H4`
!Pv@V OD/YD0p@S`-S2]06. QTP在测试执行前会清除所有的Method Register51Testing
5k pfP-FP6oo07qgNl$|L)M3W07. 默认情况下,User-Defined Function的运行结果不会出现在Test Result中,可以自己用Reporter.ReportEvent添加log51Testing51Testing软件测试网:z6D9Nca E8m1E
51Testing软件测试网-K\:[z[l
O#x8. QTP在打开Test时加载了关联的Function Library,因此,若其他人或者你用其他编辑器修改了对应的Function Library,只有在QTP重新打开该Test后才生效
:~\|Kk&y051Testing软件测试网
g#fhS ?zzX?4^9. QTP搜索Function的顺序是先Test在Function Library。另外,同名的Function存在于多个Function Library时,后一个被使用
Y/R-u{Dbfp051Testing软件测试网 k/F$\+ESZt{10. 对于同一个Method先后注册了两个不同的Function,后面的Method注册会覆盖前面的。当用UnRegisterUserFunc反注册时,会将该Method返回到原始状态,而不会回到前一个注册51Testing
*tHumgx6s[8Xj051Testing软件测试网:S? K1`%]aIj&@Iu11. 在某Action中使用ExecuteFile后,该Function只能在当前Action中使用51Testing软件测试网|naG.n
n
51Testing软件测试网0^s'P[hs LM$n2}12. 对于存储在QC中的外部资源,如Function Library,QTP打开时为其创建了一个本地副本。因此若其他人修改了QC上的外部资源,或你使用其他编辑器进行修改时,该修改只有在QTP重新打开该Test才生效。但对于存储在本地的外部资源,不存在该问题51Testing软件测试网51Testing软件测试网5H)Hy{"g'Ud
51Testing软件测试网1` Sp)K+F-WTA13. 在Test Settings中设置了Default Function Library列表后,新建Test时这些Library即被集成到新创建的Test中。以后对Default Function Library列表的修改对已有Test不产生任何影响
%y%GG$`0O0
e5KS,T| HA_0