美文网首页
QTP10-05-复习总结

QTP10-05-复习总结

作者: lvvl | 来源:发表于2016-04-18 00:44 被阅读185次
一、  简答题(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

相关文章

  • QTP10-05-复习总结

  • 2019-03-14 复习总结

    复习总结

  • iOS开发·网络请求方法总结复习(下)

    iOS开发·网络请求方法总结复习(下) iOS开发·网络请求方法总结复习(下)

  • linux复习总结

    linux复习总结

  • 总结复习

    1.冒泡排序 2.字符串颠倒 3.素数判定 4.判断回文数 或是 5.字符串的函数 6.删除数组元素、、、cppf...

  • 复习总结

    tomcat 请求转发过程 三种常见的connector, HttpConnector 基于HTTP协议,BIO,...

  • 复习总结

    有些事情注定是锦衣夜行,有些事情可能是孤芳自赏,有些事情大抵是坚持下去会变得不一样,希望自己是一个平凡但坚定的人。...

  • 复习总结

    复习内容:五年级数学下册。 复习时长: 16个工作日。 复习形式:集中回顾、专项练习、模拟考试。 一、集中回顾、唤...

  • 复习总结

    通过几天的复习 ,马上闭营了, 看着群里简书的投稿量,突然慌了 ,大家 为了300元钱能到手吧!也是拼了! ...

  • 复习总结

    数学:数学图形单元需加强. 题目意思理解需加强. 数的比较. 计算能力需加强.珠心算 钟表复习 数学思维训练需加强...

网友评论

      本文标题:QTP10-05-复习总结

      本文链接:https://www.haomeiwen.com/subject/pzzolttx.html