51Testing软件测试论坛
标题:
【求助】描述性编程和自动化框架-FrameworkManage
[打印本页]
作者:
u03024218
时间:
2011-5-17 22:56
标题:
【求助】描述性编程和自动化框架-FrameworkManage
现在想学习一下这个框架,也是从论坛上找到的
http://bbs.51testing.com/viewthr ... hlight=%BF%F2%BC%DC
觉得这个框架很有意思。了解后,看了下librarys中的4个vbs脚本,也从网上找了一些资料。现在有一点疑问。
1.这个框架以excel作为存放对象库的属性值,但是他在qtp上的写法和描述性编程的写法有很大的不同
fm的写法:Call oRoot.GetLeaf("VB Demo_Example 1_Field 1").Input("Random")
描述性编程写法:Window("Text:=HyperSna").WinButton("Caption:= 日期 ").Click
我也没找到相关的解释,我想了解一下fm是如何能让qtp识别他这种写法的?谢谢
作者:
iQuickTest
时间:
2011-5-18 07:41
标题:
null
oroot是一个类,getleaf方法本身是一个树形结构字典对象,作用主要是复刻excel中的所有树形对象结构,并获取到对应的测试对象。好久很多没用了fm了。
作者:
u03024218
时间:
2011-5-18 09:22
恩,以上在debug的时候发现了。现在就是想知道她实现描述性编程的原理。
昨天晚上我又看了下FrameworkManager.chm,看见这么一段
If InStr(Me.Properties("DPID"), "%") > 0 Then
'Get the reference from a custom function
On Error Resume Next
sIDString = Replace(Me.Properties("DPID"), "%", "")
Execute "Set oRef = " & sIDString & "(" & Chr(34) & FullName & Chr(34) & ")"
If Err.Number <> 0 Then
Set oRef = Nothing
End If
On Error Goto 0
Set LoadQTPObject = oRef
Exit Function
End If
复制代码
这段代码是在
Private Function
LoadQTPObject 中的,其中
Execute "Set oRef = " & sIDString & "(" & Chr(34) & FullName & Chr(34) & ")"
应该就是描述性编程中的 Set XXX= Window("Text:="HyperSna"") 这个格式
然后递归往上加节点(猜测....还没具体看)。
希望有了解的能给予指导。
同时谢谢楼上的解释~
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2