51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1693|回复: 2
打印 上一主题 下一主题

[原创] 【求助】描述性编程和自动化框架-FrameworkManage

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-5-17 22:56:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在想学习一下这个框架,也是从论坛上找到的
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识别他这种写法的?谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-5-18 07:41:20 | 只看该作者

null

oroot是一个类,getleaf方法本身是一个树形结构字典对象,作用主要是复刻excel中的所有树形对象结构,并获取到对应的测试对象。好久很多没用了fm了。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-5-18 09:22:12 | 只看该作者
恩,以上在debug的时候发现了。现在就是想知道她实现描述性编程的原理。

昨天晚上我又看了下FrameworkManager.chm,看见这么一段
  1. If InStr(Me.Properties("DPID"), "%") > 0 Then
  2.             'Get the reference from a custom function
  3.             On Error Resume Next
  4.                 sIDString = Replace(Me.Properties("DPID"), "%", "")
  5.                 Execute "Set oRef = " & sIDString & "(" & Chr(34) & FullName & Chr(34) & ")"
  6.                 If Err.Number <> 0 Then
  7.                     Set oRef = Nothing
  8.                 End If
  9.             On Error Goto 0
  10.             
  11.             Set LoadQTPObject = oRef
  12.             Exit Function
  13.         End If
复制代码



这段代码是在 Private Function LoadQTPObject 中的,其中 Execute "Set oRef = " & sIDString & "(" & Chr(34) & FullName & Chr(34) & ")"
应该就是描述性编程中的 Set XXX= Window("Text:="HyperSna"")   这个格式
然后递归往上加节点(猜测....还没具体看)。


希望有了解的能给予指导。
同时谢谢楼上的解释~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-22 15:03 , Processed in 0.077017 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表