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阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容