QTP 经常要用到的程序和函数

'##################################################################################
'##################################################################################
Sub CloseWeb()
'         此处可以用到描述性编程,把先期打开的IE窗口全关闭
Dim WinIe,Ie,i,m
Set WinIe=descrīption.Create()
WinIe("regexpwndtitle").value=" Microsoft Internet Explorer"  '所有页面的regexpwndtitle属性值都是" Microsoft Internet Explorer",也可以用 其他 属性
Set Ie=desktop.ChildObjects(WinIe)
m=Ie.count
For i=1 to m
        Ie(i-1).close                 ' 0为最后打开的一个,可关闭打开的几个,,循环改成for i=1 to m
Next
End Sub
'##################################################################################
function TestVbs(format)
        msgbox "参数是" & format 
end function
'#################################################################
'#################################################################
'往文件里面写内容
'第一个参数 文件的路径
'第二个参数:写入的内容
'第三个参数:写入的格式("Appending/Writing")
' See also "FileSystemObject"
Sub Write2File(FilePath,content,style)
   Dim fso,f
   Dim stl
        If Ucase(style)="APPENDING" Then 
                stl=8
        else 
                if Ucase(style)="WRITING" then 
                                stl=2
                else 
                                        reporter.ReportEvent 1,"参数错误","Writing <" & FilePath &">:<"& content &">With<" & style & ">"
                                Exit Sub
                end if
        End If  
   Set fso=CreateObject("scr&#299;pting.FileSystemObject")
   Set f=fso.OpenTextFile(FilePath,stl,true)
   'c
   f.WriteLine(content)
   f.Close
   Set f=nothing
   Set fso=nothing
End Sub
'#################################################################
'#################################################################
'#################################################################
' 连接 数据库 子程序
' 第一个参数:根据数据库的类型,设计连接字符串(参见udl文件)
' 第二个参数:连接数据库之后,进行查询的相应语句
' 第三个参数:查询记录返回到res
Sub OpenDB(conn,sql,res)
   Set cnn=CreateObject("adodb.connection")
   cnn.open conn
   Set res=CreateObject("adodb.recordset")
   res.open  sql ,cnn,1,1
    
End Sub
'#################################################################
'#################################################################
'#################################################################
' 关闭数据库的连接
sub CloseDB
   Set res=nothing
        Set cnn=nothing
end sub
'#################################################################
2.  QTP导入这个TestVbs.vbs 文件:
菜单:Test-->Setting-->Resource
在“Associated Library Files” 添加入该文件
这里建议可以使用 相对路径,如..\TestVbs.vbs
3.  测试 封装的子程序:
用“Run from steps”运行模式(专家视图 右键,第四个菜单项,脚本从光标处运行)
在QTP 中添加测试代码:
CloseWeb()    '实现关闭当前所有的IE窗口
stop
' 调用外部函数 Write2File 
Write2File "c:\File.txt","Writhing a Line","Writing"
Write2File "c:\File.txt","Appending a Line","Appending"
Write2File "c:\File.txt","Appending a Line","Appending!"   ' 参数不正确
Write2File ".\vbs\File.txt","Appending a Line","Appending"
stop
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' 设置连接数据库所需要的初始值,包括:
' conn :数据库连接字符串
' sql:查询的SQL语句
' res:查询的返回记录
Dim conn,sql,res
c
sql="select * from Orders"
Set res=nothing
' 调用外部子程序 OpenDB 进行连接数据库
        OpenDB conn,sql,res
                'msgbox res.RecordCount&"行," & res.fields.count & "列"
                res.MoveFirst
           ' res.MoveNext    没有它的话,记录就成了死循环
           
                'reporter.ReportEvent 2,"测试连接数据库","数据库获取数据:" & res.fields(0)
        RowCount=res.RecordCount
        ColumnCount=res.fields.count
        While not res.eof
                Record=""
                For i=0 to ColumnCount-1
                        Record=Record & ":" &res.fields(i)
                Next
                        Record=mid(Record,2)
                        reporter.ReportEvent 2,"数据库记录:",Record
                res.MoveNext
        Wend
  
' 调用外部子程序 CloseDB关闭数据库
        CloseDB

版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(QTP 经常要用到的程序和函数)