[ QTP ] 使用类来解决函数化时"可选参数"问题

上一篇 / 下一篇  2007-10-19 14:21:46 / 个人分类:QTP

查看( 1305 ) / 评论( 6 )
在做函数化时,同时会对一些值进行参数化,以备后面调用。如Function AddNew(NewName,NewAge)这样。
记得曾经在51上看到有讨论函数是否可以有可选参数的问题,结果好像是不能设置可选参数。
在项目中也遇到过需要可选参数的情况。

今天刚刚读了songfang大虾的《在QTP中如何使用Class(类)》,忽然想到可以用类来解决这个问题嘛,于是立马写了出来试试
比如要建立一个Customer用户,他的许多创建时的参数的不同值会对后面有不同的影响,所以要对众参数中的某一个做一些修改
于是有了以下测试代码
Class AddNew
        Dim para1,para2,para3

        Sub Class_Initialize
                para1 = 1
                para2 = 2
                para3 = 3       
        End Sub

        Sub setPara1(byval para)
                para1 = para
        End Sub

        Sub setPara2(byval para)
                para2 = para
        End Sub

        Sub DoAdd()
                msgbox "para1=[" & para1 & "] para2=[" & para2 & "] para3=[" & para3 & "]"
        End Sub
       
End Class

Set Customer = new AddNew
Customer.DoAdd()
Customer.setPara1(111)
Customer.DoAdd()
Customer.setPara2(222)
Customer.DoAdd()
Set Customer = nothing

这样就应该可以解决这个问题了吧
刚刚想到这里,难免有些稚嫩,希望大虾们指点

TAG: QTP

jackymail的个人空间 jackymail 发布于2007-10-18 17:24:30
呵呵,不如直接写3个函数算了,还用一个class给套起来了,不过思路可嘉,虽然跟重载关系不太大
yabest的测试天地(http://www.yabest.net) yabest 发布于2007-10-18 19:19:55
直接把类作为参数来传递,可以解决参数太多、缺省参数、参数扩充等问题。
木卫十二 木卫十二 发布于2007-10-19 11:50:23
刚写完那个类又想到,能否用面向对象的思想应用到框架的设计中去?呵呵,有点异想天开了
yuqingannie发布于2007-10-19 12:21:16
good idea, I got it. thank you
习术 闻道 -- 测试人 danmy 发布于2007-10-19 17:37:13
这个方法确实是目前比较好的方法了,advanceQTP上有关于这个问题的详细分析
侧视浮生 photon 发布于2007-10-20 15:20:00
面向对象不仅可以编码,也可以用于设计和分析,比如OOD,OOA.
我来说两句

(可选)

我的栏目

日历

« 2024-05-13  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 4094
  • 日志数: 5
  • 建立时间: 2007-08-10
  • 更新时间: 2007-11-06

RSS订阅

Open Toolbar