• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • QTP的一點總結,希望大家有用

    上一篇 / 下一篇  2007-10-31 16:43:19

    QTP的一點總結,希望大家有用

     


    Desktop.CaptureBitmap filename//filename為桌面上的文件的名字,這個函數主要是用來抓桌面上的圖象


    將圖放到word中
    Set Word = CreateObject("Word.Application")
    oWord.DisplayAlerts = False
    oWord.Visible = False
    oWord.documents.open "testWordDoc.doc"
    Set Doc = oWord.ActiveDocument
    Set Range = oDoc.content
    oRange.ParagraphFormat.Alignment = 0
    oRange.insertafter vbcrlf '& " " & vbcrlf
    oRange.collapse(0)
    oRange.InlineShapes.AddPicture "ImagePath.bmp", False, True
    oWord.ActiveDocument.Save
    oWord.Application.Quit True
    Set Range = Nothing
    Set Doc = Nothing
    Set Word = Nothing


    數據庫連接方法
    第一種方法:
    做實驗的時候需要把Cmd.activeconnection="Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;修改成自己計算機上的信息,用粗體表示了.用的是sql server數據庫

    Dim res,cmd,sql
    Set Res=createobject("adodb.recordset")
    Set Cmd=createobject("adodb.command")
    Cmd.activeconnection="Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=192.168.0.69"
    Cmd.CommandType = 1
    sql="select emp_id,fname from dbo.employee"
    Cmd.CommandText = sql
    Set res = Cmd.Execute()
    i=1

    While not res.eof
                         logid =  res("emp_id").value
                        logname=res("fname").value   
                                            print logid
                                            pint logname
                                    
                                           
      i=i+1
                          res.movenext                 
    wend
    Set res = nothing
    Set cmd.ActiveConnection = nothing
    Set Cmd= nothing

     


    第二種方法:
    set conn=createobject("adodb.connection")
    set  rs=createobject("adodb.recordset")
    set  rs1=createobject("adodb.recordset")
    conn.open= "Provider=OraOLEDB.Oracle.1;Password=XXX;Persist Security Info=True;User ID=XXX;SERVER=XXX;Data Source=XX;DBQ=XX;"
    sql="你的SQL語句"
    rs.open sql,conn

     

    '創建excel的對象
    Set ExcelObj = CreateObject("Excel.Application")
    '指定一個execl的格式,這個需要我們事先定制好
    aatype="F:\templet.xls"
    '打開excel
    ExcelObj.Workbooks.Open(aatype)
    '設置操作的工作表
    Set NewSheet = ExcelObj.Sheets.Item(2)
    '以下是數據庫操作
    Dim rs,sq,pkey
    set conn=createobject("adodb.connection")
    set  rs=createobject("adodb.recordset")
    set  rs1=createobject("adodb.recordset")
    conn.open= "Provider=OraOLEDB.Oracle.1;Password=*;Persist Security Info=True;User ID=*;SERVER=*;Data Source=*;DBQ=*;"
    sql="select * from table"
    rs.open sql,conn
    i=1
    do while not rs.eof
                         values1=rs("pkey")
                         values2=rs("name")
                         NewSheet.Cells(i+1,1).Value =values1
                         NewSheet.Cells(i+1,2).Value =values2
           i=i+1
             rs.movenext
    Loop
    '保存excel數據
    ExcelObj.ActiveWorkbook.Saveas "F:\data.xls"
    ExcelObj.Quit
    Set ExcelObj = Nothing
    rs.close
    set rs=nothing
    conn.close
    set conn=nothing


    對EXCEL的操作
    Dim Excel,ExcelSheet
    Set Excelone=CreateObject("Excel.Application")
    Set ExcelSheet=CreateObject("Excel.Sheet")
    ExcelSheet.Application.visible=true
    ExcelSheet.ActiveSheet.Cells(1,1).value=1
    ExcelSheet.ActiveSheet.Cells(1,2).value=2
    ExcelSheet.ActiveSheet.Cells(1,3).value=3
    Excelone.Saveas "E:\tests.xls"
    Excelone.quit
    Set ExcelSheet=Nothing


    對EXCEL的操作
    Set fs=CreateObject("excel.application")
    fs.Visible=True
    Set excelbook=fs.Workbooks.Add
    Set excelsheet=excelbook.worksheets(1)
    excelsheet.cells(1,1)="五哥"
    excelsheet.saveas "e:\1.xls"
    excelsheet.application.quit
    fs.Quit


    對EXCEL的操作
    set fs=createobject("excel.application")
    fs.visible=true
    set excbook=fs.workbooks.open("f:\1.xls")
    set excsheet=excbook.worksheet(1)
    excsheet.cells(1,1).value="五哥"
    excbook.save
    fs.quit

     

     


    網上有些關于如何使用Action參數的文章,不過關于QTP的Test參數和Top-Level Action參數的使用例子幾乎沒有。
    有些人甚至不知道這個參數做什么用的,尤其是Test的output不知道怎么取。
    其實它是外部對象傳給它的(這個外部對象可以是Quality Center,也可以是vbs這樣的驅動程序)。
    以下給大家講解一個關于QuickTest的Flight的例子。


    首先,在QTP里錄制一段腳本,代碼如下:

    CODE:
    SystemUtil.Run "C:\Program Files\Mercury\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\Mercury\QuickTest Professional\samples\flight\app\","open"
    Dialog("Login").WinEdit("Agent Name:").Set Parameter("InAction1")
    wait 5
    Dialog("Login").WinEdit("Agent Name:").Type micTab
    Dialog("Login").WinEdit("Password:").SetSecure "4649c633ffc8803c10097292953c6334fde3e923"
    Dialog("Login").WinEdit("Password:").Type micReturn
    Window("Flight Reservation").Close
    Parameter("OutAction1") = True

     

    然后,鼠標選中Keyword View中的Action1,點右鍵---Action Property,在Parameters的Tab標簽下,分別加入:輸入參數 InAction1 ,類型String;輸出參數 OutAction1,類型 Boolean。如下圖。再然后,在QTP的菜單File--->>Settings的Parameters的Tab標簽下,分別加入:輸入參數 InParam1 ,類型String;輸出參數 OutParam1,類型 Boolean。如下圖。


    接著,鼠標還是選中Keyword View中的Action1,點右鍵,這次點“Action Call Properties”,在Parameter Values里進行參數化傳遞設置,把InParam1的值傳遞給InAction1,把OutAction1的值傳遞給OutParam1。如下圖。


    以上設置完畢后,點“保存”,保存到C:\下,存為Test1好了。

    最后,在你的硬盤上新建一個vbs文件,文件內容如下:

    CODE:
    Dim qtApp ,pDefColl,pDef ,rtParams,rtParam
    Set qtApp = CreateObject("QuickTest.Application")
    qtApp.Launch
    qtApp.Visible = True
    qtApp.Open "C:\Test1"
    Set pDefColl = qtApp.Test.ParameterDefinitions
    cnt = pDefColl.Count
    Indx = 1
    While Indx <= cnt
    Set pDef = pDefColl.Item(Indx)
    Indx = Indx + 1
    Wend
    Set rtParams = pDefColl.GetParameters()
    Set rtParam = rtParams.Item("InParam1")
    rtParam.Value = "songfun"
    qtApp.Test.Run , True, rtParams
    MsgBox rtParams.Item("OutParam1").Value

     

    做完這步之后,保存這個vbs文件,雙擊執行這個vbs文件,你會發現它自動啟動了QTP,而且進行了自動測試,最后還取到了運行成功與否的布爾值。這就是關于Test、Top-Level Action參數使用的例子,它的參數的整個傳遞過程是:外部vbs文件 傳參數給QuickTest的Test的輸入參數InParam1,然后InParam1傳參數到InAction1去驅動了Action1的測試,然后通過這個Action1得出了OutAction1的值,然后通過OutAction1傳給OutParam1,最后再傳回到vbs文件中。示例用MsgBox來打出重新傳回到vbs文件中的字符串

    新建一個EXCEL表格,并且往里邊寫入數據
    Dim a,b,c
    Set a = createobject("excel.application")
    a.visible = true
    Set b = a.workbooks.add
    Set c = b.worksheets(1)
    c.cells(1,1) = "1"
    c.cells(1,2) = "2"
    c.cells(1,3) = "3"
    c.saveas "e:\testtwo.xls"
    c.application.quit
    a.quit

    打開一個已經存在的表格,往里邊寫入數據
    set fs=createobject("excel.application")'創建EXCEL對象
    fs.visible=true'使EXCEL能被看到
    set excbook=fs.workbooks.open("f:\1.xls")'打開F盤下的一個已經存在的1.txt文件
    set excsheet=excbook.worksheet(1)'使用表一
    excsheet.cells(1,1).value="五哥"  '寫入數據
    excbook.save '保存數據
    fs.quit    '推出

     

     

     

    如何從datatable取值
    Set alapp=createobject("Excel.Application")
    alapp.application.visible=true
    Set xlbook=alapp.workbooks.open("e:\test.xls")
    Set xlSheet = xlBook.Worksheets("Sheet1")
    count1=datatable.GetSheet("Action1").getrowcount'這句話可以從datatable中取出值來
    For i=1 to count1
       alapp.cells(i,1)= datatable.GetSheet("Action1").getparameter("數值").valuebyrow(i)
    Next
    xlSheet.saveas "e:\1.xls"
    alapp.quit
    Set excel=nothing


    TAG:

     

    評分:0

    我來說兩句

    顯示全部

    :loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

    日歷

    « 2011-06-10  
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  

    數據統計

    • 訪問量: 740
    • 日志數: 1
    • 建立時間: 2007-10-31
    • 更新時間: 2007-11-02

    RSS訂閱

    Open Toolbar
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>