lgh75560 发表于 2016-4-2 12:37:00

伪重写Reporter.ReportEvent

今天学习函数指针GetRef。看到把自带的print重成函数内容为msgbox "xxx'
然后就想能不能重写Reporter.ReportEvent。
结果发现这样是可以成功的!!只是探讨学习


'重写Reporter
Dim Reporter
Set Reporter=new ReporterRewriter

Class ReporterRewriter
         Public Function ReportEvent(status,title,des)
            Dim FSO,FSOwriter,dir,str
            '文件操作对象
            Set FSO=CreateObject("Scripting.FileSystemObject")
            '环境变量:当前根目录
            dir=Environment.Value("TestDir")
            '追加写入文件
            set FSOwriter=FSO.OpenTextFile(dir&"\log.txt", 8, true)
               
            str="测试通过        "&title&des
            '写入数据
            FSOwriter.WriteLine str
               
             Set FSO=nothing
            Set FSOwriter=nothing
   End Function
End Class

调用
'这里执行的是上面被覆盖对象,里面的函数,达到伪重写
                Reporter.ReportEvent micPass,"输入"&inputValue&"检查","测试通过"

赵佳乐SMILE 发表于 2016-4-5 09:02:02

棒棒哒

lgh75560 发表于 2016-4-6 10:58:38

其实我是这样想的。

把上面的放入库文件。
1、注释dim和set语句适合,程序中使用的QTP自带函数
2、启用上面dim和set语句,使用的是自己定义的判定函数

这样,按不同情况使用就有2种生成结果的方式了,
页: [1]
查看完整版本: 伪重写Reporter.ReportEvent