QTP10-05-復習總結

一、  簡答題(30分=3分X10)
    1.  QTP有幾種視圖,是哪幾種(要求:中英文兩種寫法)?
        關鍵字視圖(Keyword View)、
        專家視圖(Expert View)
    2.  簡述QTP的對象倉庫機制如何實現自動化測試?
        錄制時將要操作的對象以對象的方式存儲到對象倉庫中
        回放時,以對象倉庫中對象進行相應回放

        a.封裝被測試對象到對象倉庫
            (1)獲取被操作的對象
            (2)使用唯一的對象名將對象保存在對象倉庫
            (3)保存對象的所有屬性信息到對象倉庫
            (4)提取出關鍵屬性信息
            (5)生成腳本
        b.對比對象倉庫里的對象屬性和運行時的真實被測對象的對象屬性
            (1)在腳本中獲取被操作對象(Item)
            (2)查看對象倉庫中是否有該對象
            (3)對比對象倉庫里和實際運行時該對象的關鍵屬性
            (4)如果對比一致:按照Operation value去操作RO
                如不一致:一直對比(20s)
        c.對比一致后找到相應的對象,按照腳本驅動對象

    3.  如果兩行代碼之間存在延時,有幾種方法解決?分別寫出每種解決辦法的用法。
        Wati    延時固定時間,單位秒
        watiProperty        延時時間內如果對象找到就提前結束延時

        a.wait
            wait time(s)
        b.設置步驟之間延時時間(每個步驟都會延時,不太好)
            Tools-Options-Run-Normal
        c.添加同步點
            waitProperty "屬性名","屬性值"timeout(ms)
    4.  如下代碼:腳本循環幾次?輸出內容是?

        循環12次
        輸出:     c1,c2,c3,
                    d1,d2,d3
                    e1,e2,e3
                    f1,f2,f3
        Print DataTable(1,1)
        Print DataTable(1,2)ss
        DataTable中數據如下:

        循環開關設置如下:

    5.  以下代碼,輸入的內容為?
        Function myfun(num1,num2)
            Dim mynum
        mynum=100
        myfun=mynum+num1*num2
        End Function
        Msgbox myfun(4,5)+mynum
        120
    6.  Action的類型有幾種,分別是?
        2種,全局表單,和局部表單

        2種,
            a.reusable action:可以被其它測試調用
            b.non-reusable action:只可以被本測試調用
            c.external action:其它測試調用可復用的action,生成的action就是外部的action
    7.  輸入數據參數化的類型有哪些?
        3種,
        dataTable,
        environment,
        randomNumber

    8.  對輸入數據使用DataTable參數化之后,Global 和 Action反復的次數在什么位置設置?
        Global在File-settings-Run-中
            Action在每個Action-右擊-Action Call Properties-Run
    9.  Insert—>Output建立的輸出值可以存放在什么位置?
        Run-Time Data Table 中

        dataTable
        environment

    10. 寫出下列正則表達式中元字符的意義。
        ①   \d ②\w ③. ④\s ⑤\b  ⑥+     
        1位數字0-9
        1位字母、數字、下劃線
        任意1個字符,除換行符以外
        任意1個空白符(空格、tab空格、換行符)
        單詞的開始或者結束
        重復1次或更多次
二、  選擇題(35分=5分X7)
    1.  在代碼中生成多個Action的方法有(ABCD)
        A. Call to new Action
                對象倉庫是以action來區分的,不同action對應不同的對象倉庫
        B. Call to copy of Action
                也會產生不同的對象倉庫
                可拷貝 可復用的/不可利用的 action 
        C. Call to Existing Action
                也會產生不同的對象倉庫
                只能調用 可復用的 action 
        D. 通過分割方式產生新的Action
                也會產生不同的對象倉庫
                分割的光標位置:下一個action代碼的第一行
    2. DataTable中Sheet表單描述正確的有(ABC)
        A. 如果指定Global Sheet中的數據作為參數化數據,那么將應用到整個腳本,即整個腳本執行多次反復
        B. 如果指定Action Sheet 中的數據作為參數化數據,則只有相應的Action執行多次反復
        C. 如果Global Sheet中的測試數據為三行,QTP默認Test反復三次
        D. 如果Action Sheet中的測試數據為三行,QTP默認Action反復三次
    3. 下面對VBScript變量描述正確的有(ABC)
        A. 除簡單數字或字符串以外,Variant可以進一步區分數值信息的特定含義
        B. Variant用于數字上下文中時作為數字處理,用于字符串上下文中時作為字符串處理
        C. VBScript 只有一種數據類型,稱為Variant
        D. VBScript變量使用之前必須先定義
    4. 閱讀以下VBS代碼,
        1) vDay=Weekday(Date)
        2)‘Date 函數返回當前系統日期
        3)‘Weekday 函數返回代表一星期中某天的整數。缺省以星期天為第一天,返回值為1。
        4)If     vDay = 6 then    
        5)Msgbox“時間過得真快,又到星期五了。"
        7)else if   vDay > 1 and vDay <6 then   
        8)Msgbox “明天要上班,不要遲到哦!"
        else      
        9)Msgbox "哈哈,周末啦!"
        10)end if

        以上代碼,有沒有錯誤的地方,如何修改(A    D)
        A.  在第11行添加End if
        B.  去掉第7行代碼的中的Then
        C.  去掉第7行代碼中的else
        D.  將第7行代碼中的else if 修改為elseif
    5. 以下VBS代碼中完成計算“2+4+6+8+10“功能的有(CD)
    A.
        Dim num, Sum    
         num = 2 
         Sum = 0     
        Do While num < 10        
         num = num + 2          
        Sum = sum+num  
        Loop     
        MsgBox "總和為: " & Sum 
    B. 
        Dim num, Sum    
         num = 10 
         Sum = 0     
        Do    
        Sum = sum+num  
        num = num - 2  
        Loop   While num <11    
        MsgBox "總和為: " & Sum 
    C.
        Dim num, Sum    
         num = 2 
         Sum = 0     
        Do    Until num>10    
        Sum = sum+num  
         num = num + 2          
        Loop  
        MsgBox "總和為: " & Sum 
    D.
        Dim num, Sum    
        Sum = 0     
        For num=2 to 10 Step 2        
        Sum = sum+num  
        Next
        MsgBox "總和為: " & Sum 
    6. 以下選項中能正確打開“百度”的是(A)
        A.  SystemUtil.Run “iexplore.exe”,”http://www.baidu.com”
        B.  systemUtil.Run “explore.exe”,”http://www.baidu.com”
        C.  systemUtil.Run “http://www.baidu.com”,”iexplore”
        D.  systemUtil.Run “http://www.baidu.com”,”explore.exe”
    7. 以下選項中能獲取“Mary”的代碼是(AC)
        A.  DataTable.GetSheet(1).SetCurrentRow(3)
            Print DataTable(1,1)
        B.  DataTable.GetSheet(“name”).GetCurrentRow(3)
            Print DataTable(1,1)
        C.  DataTable.GetSheet(1).SetCurrentRow(3)
            Print DataTable.GetSheet(1).GetParameter(1).value
        D.  DataTable.GetSheet(1).SetCurrentRow(3)
            Print DataTable.GetSheet(1).GetParameter(1).name

    8. 下列選項中描述正確的是(A)
        A.  12[123]可以匹配121,122, 123
        B.  \D{1,2}可以匹配a,b,ab
        C.  ab*可以匹配ab,abab,ababab等
        D.  a[0]b可以匹配ab,a0b
三、  編碼題(50分)
    1.  編寫生成(2~7)隨機數的代碼? (7分)
        QTP特有:randomNumber(2,7) 
        VBS:    int((7-2+1)*rnd+2)
    2.  根據下圖中關鍵字視圖中的代碼,編寫與其相對應的專家視圖中的代碼?(8分)


    3.  請寫出取值范圍為0-326數字的正則表達式,也可以匹配以下格式“078”,“001”  (10分)
        0-9 00-99 000-326
        0-9 00-99 000-299 300-319 320-326
        \d  \d\d  [0-2]\d\d  3[0-1]\d  32[0-6]

        ^([0-2]?\d\d?|3[01]\d|32[0-6])$
        =======================================
    4.  下圖為D:\info.xls文件的截圖

        使用所學知識,在QTP中實現以下功能: (25分)
            a.  將表單“達內花名冊”導入QTP的DataTable中(新建一個sheet頁)  (3分)
            b.  統計表單“達內花名冊”的列數與行數   (3分)
            c.  在數據中查找是否有名字以“小”開頭的   (7分) 
            d.  如果有,統計以“小”開頭數據的總數,將數據寫入測試結果報告中;如果沒有,將沒有查到書寫到測試結果報告中  (4分)
            e.  將數據表中的以“小”開頭的名字,都換成以“王”開頭,并且將修改夠的數據導出到Excel文件中(E:\res.xls)(8分)

        Option explicit
        Dim rowC '行數
        Dim colC '列數
        Dim xiaoC '以’小開頭的數據的總數

        '新建表單
        dataTable.AddSheet "新花名冊"
        '導入數據
        dataTable.ImportSheet "c:\info.xls","花名冊","新花名冊"
        '統計行列數
        rowC=dataTable.GetSheet("新花名冊").GetRowCount
        colC=dataTable.GetSheet("新花名冊").GetParameterCount 
        print "行數:"&rowC
        print "列數:"&colC

        '統計以’小‘開頭的數據的總數 
        xiaoC=0
        For i=1 to rowC
            dataTable.GetSheet("新花名冊").SetCurrentRow i
            For j=1 to colC
                val=dataTable.GetSheet("新花名冊").GetParameter(j).Value
                If mid(val,1,1)="小" Then
                    xiaoC=xiaoC+1
                    dataTable.GetSheet("新花名冊").GetParameter(j).Value="王"&mid(val,2)
                End If
            Next
        Next

        If xiaoC>0 Then
            reporter.ReportEvent micDone,"統計以“小”開頭數據的總數",xiaoC
        else
            reporter.ReportEvent micDone,"統計以“小”開頭數據的總數",xiaoC
        End If

        '導出數據到\res.xls
        dataTable.ExportSheet "res.xls","新花名冊"



    5.  對被測系統Mtours中的以下兩個控件(WebList 和 WebRadioGroup)中的選項進行隨機選擇,并且輸出所選擇的內容。(15分)


        Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select “Acapulco”


        set froO=Browser("Find a Flight: Mercury").Page("Find a Flight: Mercury").WebList("fromPort")
        froC=froO.GetROProperty("items count")
        froR=randomNumber(0,froC)
        froO.Select froR
        msgbox froO.GetROProperty("value")


        Browser("Select a Flight: Mercury").Page("Select a Flight: Mercury").WebRadioGroup("outFlight").Select "Blue Skies Airlines$191$723$7:08 pm$"
    6.  猜數游戲,需求如下:(20分)
        a.  通過rnd函數使系統隨機產生一個1~10的隨機數
              Randomize
            int(10*rnd+1)
            rnd:0~0.9….
            10*rnd:0~9…….
            10*rnd+1:1~10.。。。。。
            randomize
            int(10*rnd+1)或者
            randomNumber(1,10)
        b.  使用inputbox讓用戶輸入一個1~10的隨機數
            num=Cint(inputbox(“請輸入一個1~10的隨機數,輸入0可以退出游戲”,”猜數游戲”))
        c.  用戶輸入0可以退出游戲
        d.  如果隨機數大于用戶輸入的數據,提示用戶:猜小了,并且讓用戶繼續猜
        e.  如果隨機數小于用戶輸入的數據,提示用戶:猜大了,并且讓用戶繼續猜
        f.  如果隨機數等于用戶輸入的數據,提示用戶:猜對了,并且提示用戶一共猜了幾次
        g.  如果用戶一次就猜對了,提示用戶:您太棒了,一次就猜對了
        h.  用戶猜對了之后,再次產生一個隨機數,繼續游戲


        Dim rNum '隨機數
        Dim iNum '輸入數
        Dim caiC '猜對所用次數

        randomize
        rNum=int(10*rnd+1) 
        print rNum

        iNum=-1
        caiC=0
        iNum=cint(inputbox("請輸入1個1~10的隨機整數,輸入0可以退出游戲","猜數游戲"))

        Do until iNum=0
            caiC=caiC+1
            If rNum>iNum Then
                msgbox "猜小了,請繼續猜",,"提示信息"
            elseif rNum<iNum then
                msgbox "猜大了,請繼續猜",,"提示信息"
            else
                If caiC=1 Then
                    msgbox "太棒了,一次就猜對了",,"提示信息"
                else 
                    msgbox "猜對了,一共猜了"&caiC&"次",,"提示信息"
                End If

                caiC=0  '猜對后,清空猜數次數
                randomize
                rNum=int(10*rnd+1)  '猜對后,重新生成1~10的隨機數
                print rNum
            End If
            iNum=cint(inputbox("請輸入1個1~10的隨機整數,輸入0可以退出游戲","猜數游戲"))
        Loop
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容