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

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

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    robot函數實例講解(二)

    發布: 2008-8-18 17:18 | 作者: 網絡轉載 | 來源: 51testing sincky | 查看: 132次 | 進入軟件測試論壇討論

    領測軟件測試網

    Rational Robot中提供了一個文件操作命令,語法如下:
    Open filename$ [For mode] [Access access] [lock] As [#] filenumber% [Len = reclen]
    這里我們把它的語法分為兩部分,因為這個文件操作命令有兩種文件操作模式,一種是順序文件,一種是隨機文件。

    下邊是對順序文件操作的語法:
    Open filename$ [??For [Input |Output |Append] As [#]filenumber [Len = buffersize]
    參數說明:
    說明:

     。1)參數filename$表示要打開的文件名,文件名可以包含有驅動器和目錄

     。2)Input Output 和Append用于設置順序文件的打開方式。其中,Input表示從打開的文件中讀取數據。以這種方式打開文件時,文件必須存在,否則會產生錯誤。Output表示向打開的文件中寫入數據。以這種方式打開文件時,文件中原有的數據將被覆蓋,新的數據將從文件開始寫入。如果文件不存在,則創建一個新文件。Append表示向打開的文件中添加數據。以這種方式打開時,文件中原有的數據將被保留,新的數據將從文件為開始添加。如果文件不存在,則創建一個新文件。

     。3)As[#]filenumber 子句用于為打開的文件指定文件號.對文件進行讀寫操作時,要用文件號表示該文件.文件號是介于1~511之間的整數,既可以是數字,又可以是變量.也可以省略不用.

      (4)當在文件與程序之間拷貝數據時,Len=buffersize子句指定緩沖區的字符數.

    例子:
    Open “c:\test.dat" For Output As 1
    Open “c:\test.dat" For Output As 1
      這兩句代碼在c盤所在目錄下創建了一個名為test.dat的文本文件,分配文件號為1.
    Open “c:\test.dat"??For Input As [#]filenumber  這條語句是從文本文件中讀取數據.
    Open App.Path + "\test.dat" For Append As [#]filenumber?? 這條語句則是向文本文件中添加數據
    隨機文件的操作:
      操作隨機文件之前,首先必須定義用于保存數據項的記錄類型.該記錄是用戶自定義數據類型,他們是隨機文件中存儲數據的基本結構.例如:

    Type Student
     No As Integer
     Name As String * 20
     age As Integer
    End Type

    Dim Stud As Student ‘定義一個可以存放學生材料的變量
      隨機文件中,所有的數據都將保存到若干個結構為Student類型的記錄中, 而從隨機文件中讀出的數據則可以存放到變量Stud中.之后我們就可以打開并讀寫文件了.

    隨機文件的操作語法格式:
    Open filename For Random as [#]filenumber Len = Reclength
      說明:
      (1)參數filename 和filenumber 分別表示文件名或文件號.
      (2)關鍵字Random 表示打開的是隨機文件
      (3)Len子句用于設置記錄長度,長度由參數Reclength指定.Reclength的值必須大于0,而且必須與定義的記錄結構的長度一致.計算記錄長度的方法是將記錄結構中每個元素的長度相加.例如前面聲明的Student的長度應該是2+20+2=24字節.
    打開一個記錄類型為Student 的隨機文件的方法是:
    Open "c:\Student.txt " For Random As #1 Len = 25

    這里還有一種文件操作方式二進制文件,下邊是他的語法格式:
    Open pathname For Binary As [#]filenumber
      說明:
      (1) 參數filename 和filenumber 分別表示文件名或文件號.
      (2)關鍵字Binary 表示打開的是二進制文件
      (3)對于二進制文件,不能指定字節長度.每個打開的二進制文件都有一個自己的指針,文件指針是一個數字值,指向下一次讀寫操作的文件中的位置.二進制文件中的每個”位置”對應一個數據字節,因此,有n個字節的文件,就有1到n個位置.

      我們可以用Seek()函數返回當前的文件指針位置(即下一個要讀寫的字節 );用Loc()函數返回上一次讀寫的字節位置,除非用Seek語句移動了指針,Loc()返回值總比Seek()的小1.我們來看下面的例子:
    Open “路徑:\student.txt” for Binary as #1? ? 該語句用二進制的方式打開了student.txt文件.

    二)寫文件
      1、 順序文件
      寫順序文件我們可以用Write # 和Print #語句向一個已經打開的文件中寫入數據.
      下面是他們的格式和說明:

      Print # 的語法格式:

      Print # 文件號,變量列表

      例如,將文本框中的文本寫到文件中,代碼如下:

    Open "file.txt" For Output As #filenum

    Input #filenum, text1.text

      Write # 語句的語法格式:

    Write # 文件號,變量列表

      說明:用Write # 語句寫入的信息便于以后用Input #語句來讀取數據,因為Write #語句自動將寫入到文件中的信息用逗號分開,并為字符串數據加上雙引號.例如:

    Open "student.txt" For Output As #filenum

    Write #filenum, "張三", "初一年級", 14
    Write #filenum, "李四", "職業高中", 18

      2、 隨機文件

      向隨機文件中寫入數據,使用Put。UZ句.語法格式如下:

    Put [#] FileNum ,[RecNum],UserType

      說明:

      (1) FileNum 是要打開的文件號;RecNum是要寫入的記錄號,若省略,則再上一次用Get 和Put語句所讀寫過的記錄的后一條記錄中寫入,如果沒有執行過Get 和Put語句,就從第一條記錄開始

      (2)UserType 是包含要寫入數據的用戶自定義的數據類型變量.例如:我們向前面的student.txt文件中的第5個記錄寫入數據,可用這些語句:

    stud.No = 0301
    stud.Name = “王武”
    stud.Age =20
    Put #1 ,5,stud

      如果要插入的數據不只一兩條的話,首先要確定文件和每條記錄的長度,這樣就可以計算出文件中究竟有多少條記錄.我們可以用Lof()函數返回文件的長度,Len()函數返回每個記錄的長度,計算文件中的記錄個數可以用文件的長度除以給個記錄的長度.示例如下:

    Nextrec= (Lof(1)\Len(UserType))+1

    Put #1,Nextrec,UserType

      3、二進制文件

      下面是以二進制方式寫入文件的語句格式及其說明:

      格式:

    Put [#]fileNumber ,[Pos], Var

      功能: 用二進制方式,從文件的中指定的位置開始寫入,所給變量長度的數據

      說明:

      (1)FileNumber是以二進制方式打開的文件號.

      (2)Pos用來指定寫操作發生時的字節位置,若省略,則使用當前文件指針位置.

      (3)Var是用來存放寫入的數據的變量.該語句會自動根據var變量包含的字節長度寫入文件,如果Var是一個可變長度的字符串變量,則傳送的字節數等于Var中目前的字節數.

      使用方法可參考二進制文件的讀操作.
    用Excel做Datapool實現Rational Robot 功能測試的一個實例
    Rational Robot是一個比較通用的軟件測試工具。她主要通過錄制(自動或手工)腳本用于功能測試和性能測試。

    在手工修改Robot錄制的GUI腳本時,經常用到Datapool這一概念,由于Rational自帶的Datapool工具只能支持2000行的數據池紀錄,而且編輯不是很方便,F用比較方便的Excel作為數據源,實現自動測試的功能。

    前提條件:OS系統中已經安裝Office。

    [源碼]

    '$include "sqautil.sbh"
    Sub Main
        Dim Result As Integer
        dim excel as Object
        dim book as Object
        dim worksheet as Object
        dim s_name as String
        dim s_pass as String
        dim count as Integer

        'Initially Recorded: 2004-4-2  :16:55
        'Script Name: AUT_1_Login
       
        Window SetContext, "Caption=Program Manager", ""
        StartBrowser "C:\Program Files\Internet Explorer\IEXPLORE.EXE", "WindowTag=WEBBrowser"
       
       
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        'Initiliaze excel
        on error resume next
        Set excel = GetObject(,"excel.application")
        if(excel Is Nothing) then
            Set excel = CreateObject("excel.application")
            if(excel Is Nothing) then
                MsgBox "Couldn't find Excel!"
                Exit Sub
            End if
        End if
       
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

        Set book = excel.Workbooks.Open("Your Book1.xls")
        Set worksheet = book.Worksheets("Your Excel sheet's name")
           
        For count=1 To 2
        s_name = worksheet.Cells(1,count).value
        s_pass = worksheet.Cells(2,count).value
        'print s_name,s_pass
       
        Window SetContext, "Caption=Web應用系統 - Microsoft Internet Explorer", ""
        Browser SetFrame,"Type=HTMLFrame;HTMLId=mainframe",""
        Browser NewPage,"HTMLTitle=Title",""
        EditBox Click, "Type=EditBox;Name=userAccount", "Coords=26,10"
        InputKeys s_name &"{TAB}"&s_pass
        PushButton Click, "Type=PushButton;HTMLText=登錄"
       
        Window SetTestContext, "Caption=Web應用系統 - Microsoft Internet Explorer", ""
        Browser SetFrame,"Type=HTMLFrame;HTMLId=mainframe",""
       
        Window SetTestContext, "Caption=Microsoft Internet Explorer", ""
        Result = LabelVP (CompareProperties, "Text=輸入錯誤,請重新輸入!", "VP=Object Properties;ExpectedResult=FAIL")
        Window ResetTestContext, "", ""
         
        Next count

        'Quit Excel'''''''''''''''''''''
        excel.Quit
        Set excel = Nothing
       
        Window CloseWin, "", ""
       
    End Sub

    數據池(DATAPOOL)應用技巧――如何生成定制數據

    數據池可以按一定的規則生成測試數據列,但是它不能直接生成定制的數據。下面介紹使用數據池生成定制數據的一種方法:

        測試數據要求:數據由用戶和產品數據組成,依次為用戶名、用戶密碼、產品ID、產品價格。用戶名和用戶密碼一一對應,產品ID和產品價格一一對應。要求用戶數據和產品數據隨機組合,生成大量測試數據。
    數據生成過程:
    1、從數據庫中用Select語句分別從用戶表和產品表中檢索出用戶數據和產品數據,檢索結果分別存為CSV文件,文件名為user.csv和product.csv;

    2、在Testmanager中新建DATAPOOL,命名為testdata,插入兩個字段,TYPE選擇“Read from File”,分別選擇上一步生成的CSV文件,Sequense按需要選擇;

    3、按“Generate Data”按鈕生成數據,close關閉窗口;

    4、“Edit Datapool Data”查看生成的數據,可以看到只有兩列數據,關閉窗口;

    5、Manage Datapools窗口上點擊“Import”按鈕,選擇測試項目目錄中的..\TestDatastore\DefaultTestScriptDatastore\TMS_Datapools\ testdata.csv(上一步生成的數據池的CSV文件),輸入新的DATAPOOL名afterdata,按“確定”按鈕;

    6、打開afterdata查看生成的數據,數據為4列,數據成功生成。

    Rational Robot如何測試幫助c++程序員識別自定義或則第三方控件

    大家都知道Rational Robot利用Delphi Enabler支持識別Delphi第三方控件和自定義控件,但是識別C++程序中遇到的第三方控件呢?我將在下邊介紹識別他的方法,希望對大家有所幫助。

    SQA Object Testing Control

    如果你測試軟件是vb編寫的,那么利用SQA Object Testing Control: (SQAOTE32.ocx)來獲得控件信息很對你來說很熟悉,通過它可以獲取到軟件運行時候的控件信息和方法。Robot可以根據提供的信息建立強壯的腳本,驗證那些方法或功能是否正確,也就是最后的驗證點。
    如果你的c或則c++程序中包含自定義或者第三方的ActiveX(ocx)控件,你可以同樣把這個控件放到每一個包含第三方控件或者用到自定義控件的窗體上。
    安裝Rational TeamTest或者Robot,Object Testing Control (SQAOTE32.ocx)會默認安裝到系統目錄system32中:C:\WINNT\system32\sqaote32.ocx.。

    添加Rational ActiveX Test Control

      如果想讓ActiveX Test Control起作用,需要在VC中設置ActiveX可用。以下用MFC舉例
    第一.建立工程,設置ActiveX控件可用
          
    第二.在有第三方控件的地方添加Rational ActiveX Test Control
    有一個窗體中包含MSTreeView,運行Rational Robot利用object properties來抓取MSTreeView屬性,Rational Robot無法識別該對象(對象為UNKNOW)。添加SQA Object Testing Control(右鍵插入ActiveX控件,出現下圖窗體)。

    添加Rational ActiveX Test Control后窗體上出現一個robot的圖標,你不用在代碼中做任何處理就可以使用他。SQA Object Testing Control是個不可見控件,運行軟件后他不會顯示在窗體上。

        
         
    再沒有添加SQA Object Testing Control的時候Robot只能識別這個控件的通用屬性,添加后Robot可以識別自定義控件或者插件的大部分屬性。


    注意
    如果用到得自定義控件繼承自MFC或者用APIS實現,即使添加SQA Object Testing Control控件Robot也無法有效的工作。那么定義該對象繼承相近的類別。
    方法1:運行的時候當用Object properties識別對象為unknow的時候,在出現的對話框中定義無法識別控件到相近的基類中。
    方法2:打開robot,Tools->General Options,切換到object mapping頁面。選擇基類,然后添加無法是別的控件到該類中。
    這樣做可以識別該控件的通用類別屬性。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: robot Robot 函數 講解 實例

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>