zoukankan      html  css  js  c++  java
  • QTP(9)

    常用的Windows控件
      WinEdit---Set "数据值" SetSecure "加密数值"
      WinButton---Click
      WinComboBox---组合框下拉框下拉列表
      Select "选项文本"|选项编号
      WinList---列表框 Select "选项文本"|选项编号
      WinRadioButton---单选按钮 Set
      WinCheckBox---复选框 Set "ON"|"OFF"
      Static---静态(图片或纯文本) Click
      Window---窗体|窗口 Close
      Dialog---对话框 Close
      WinMenu---菜单 Select "一级菜单;二级菜单"
      WinObject---Click Type "数据值"

      练习1:Flight,录制登录、订票、退出的步骤,在专家视图中修改代码实现:
        (1)登录用户名从abcd修改为jack
        (2)将密码修改为明文密码:mercury
        (3)将起飞城市、到达城市、航班的选项都修改为选项编号的形式
        (4)将舱位类型(Class)从Business修改为选中First
        (5)增加向Tickets文本框中输入“4”的步骤
      Test9001_Flight_修改代码

    Dialog("Login").WinEdit("Agent Name:").Set "jack"
    Dialog("Login").WinEdit("Password:").Set "mercury"
    Dialog("Login").WinButton("OK").Click
    wait 8
    Window("Flight Reservation").ActiveX("MaskEdBox").Type "010819"
    Window("Flight Reservation").WinComboBox("Fly From:").Select 1
    Window("Flight Reservation").WinComboBox("Fly To:").Select 2
    Window("Flight Reservation").WinButton("FLIGHT").Click
    Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select 1
    Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
    Window("Flight Reservation").WinEdit("Name:").Set "ooo"
    Window("Flight Reservation").WinRadioButton("First").Set
    Window("Flight Reservation").WinEdit("Tickets:").Set "4"
    Window("Flight Reservation").WinButton("Insert Order").Click
    Window("Flight Reservation").Close

    一、解读专家视图的代码
      1、常用的Web控件的类型及其常用方法
        Test9002_MTours_修改代码

    Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "zhang"
    Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a5d68c67eef114b2cd5ef3f"
    Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click
    Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("tripType").Select "roundtrip"
    Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("passCount").Select "3"
    Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select 1
    Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "#2"
    Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "#2"

        (1)WebEdit---文本框
          方法:Set "值"----设置值,替换原有内容
          SetSecure "加密值"---加密设置|安全设置值
        (2)WebButton---按钮
          方法:Click---点击|单击
        (3)Link---链接
          方法:Click---点击|单击
        (4)WebList---下拉框和列表框
          方法:Select "选项文本"|选项编号|"#选项编号"
          其中:选项编号是从0开始的整数
        (5)WebRadioGroup---单选按钮组
          方法:Select "选项文本"|"#选项编号"
          注意:一组单选按钮是一个对象,选项文本可以查看all items属性值。
        (6)WebCheckBox---复选框
          方法:Set "ON"|"OFF"---选中|取消选中
        (7)Image---图片
          方法:Click---点击|单击
        (8)WebElement---网页元素(纯文本或无法识别具体类型的网页元素)
          方法:Click---点击|单击
        (9)Browser---浏览器
          方法:Close---关闭、Refresh---刷新
        (10)Page---网页
          方法:Sync---同步(等待网页加载完毕)
        (11)WebTable---表格
          方法:GetCellData 行号,列号---获得单元格数据


      2.增强代码的语法:
        (1)检查点
          语法:对象.Check Checkpoint("对象名称")
        (2)输出值
          语法:对象.Output Checkpoint("对象名称")
          注意:检查点和输出值不要在专家视图修改代码,可以通过图形化界面中来修改。
        (3)DataTable参数化:可以在专家视图实现,前提在数据表中准备好数据。
          a.数据在Global表单
            DataTable("列名",dtGlobalSheet)
          b.数据在Action表单
            DataTable("列名",dtLocalSheet)

          练习2:两位数加法器,录制加法和退出的2个Action,通过DataTable参数化实现多组数据加法。
          Test9003_两位数加法器_DataTable参数化

    ’加法Action
    VbWindow("Form1").VbEdit("Text1").Set DataTable("加数1",dtLocalSheet)
    VbWindow("Form1").VbEdit("Text2").Set DataTable("加数2",dtLocalSheet)
    VbWindow("Form1").VbButton("计算(J)").Click
    VbWindow("Form1").VbButton("重置(C)").Click
    ’退出Action
    VbWindow("Form1").VbButton("退出(E)").Click
    VbWindow("Form1").Dialog("退出提示").WinButton("确定").Click

          练习3:录制Flight登录后退出的步骤,通过DataTable参数化实现多组用户名登录的要求。
            提示:数据放在Global表单中,录制时使用手动启动的方式。
          Test9004_Flight_登录_DataTable参数化

    SystemUtil.Run "C:Program FilesHPQuickTest Professionalsamplesflightappflight4a.exe","","C:Program FilesHPQuickTest Professionalsamplesflightapp","open"
    Dialog("Login").winedit("Agent Name:").set DAtatable("用户名",dtGlobalSheet)
    Dialog("Login").WinEdit("Password:").SetSecure "5a5d9e5dab208dc77723bf3ef923c96bb230a57a"
    Dialog("Login").WinButton("OK").Click
    Window("Flight Reservation").Close

    二、VBS语言基础
      1.VBS,全称是VBScript,是微软公司的一种脚本语言,属于解释型语言。


      2.VBS语法中不区分大小写,但是字符串数据内容最好区分大小写。
        例:Msgbox "Hello World!"


      3.注释:
        (1)单行注释:英文单引号后的本行的所有内容都是注释。
        (2)多行注释:选中一段,右键菜单中选择Comment Block,或者使用快捷键Ctrl+m
        (3)取消多行注释:选中一段,右键菜单中选择Uncomment Block,或者使用快捷键Ctrl+Shift+m
          注意:使用快捷键Ctrl+Shift+m前,需要先将输入法切换为非搜狗输入法。


      4.变量:VBS是弱类型语言,所以所有的变量都是同一个数据类型的,这种数据类型就是Variant(变体类型)
        (1)定义变量:
          Dim 变量
            Dim 变量1,变量2,变量3
          例:
            Dim a
            Dim x,y,z
            Dim a1,a2
        (2)变量的命名规约:
          a.以字母开头
          b.只能包含字母、数字、下划线
          c.长度不能超过255个字符
          d.不能和VBS关键字重名,用VBS在QTP中测试时,也不要和QTP内的关键字重名
          e.在同一个作用域内唯一
            作用域:可以理解为Action
        (3)赋值:变量名称=值
          注意:定义变量和给变量赋值不要书写在一行。
          例:Dim b=1'语法错误!!!
        (4)使用变量的值:任何使用常量的位置都可以用变量代替
          注意:使用变量时,不要在变量名称前后加双引号!
        (5)VBS的Variant数据类型有很多子类型,包括:Integer整型、String字符串、Boolean布尔、Double双精度浮点数、Single单精度浮点数、Long长整型……
        (6)默认可以不定义变量直接用,但是建议大家定义后再用,在代码的开头增加Option Explicit后,变量就必须定义后再使用。
          作用:方便检查变量名称书写错误的问题。

          Test9005_VBS变量

    ’Action1
    'Option Explicit'要求变量必须先定义再使用
    'Msgbox "Hello World!"
    '弹出信息框:你好,世界!
    'msgbox "你好,世界!"
    'aa
    'ssss
    'aaaaaaa
    'dddddd
    'fffff
    'kdsksksd
    'sddssdsdsd
    'sdsdsd
    'sdsdsdsdsd
    'sdsdsd
    '
    Dim a
    Dim x,y,z
    Dim a1,a2
    Dim Dim1,date1,value1,month1
    Dim dataTable1,set1,click1,winedit1
    'Dim a
    a=100
    a="Hello"
    a=5.5
    a=true
    
    'Dim b=1'语法错误!!!
    'Dim b
    'b=1
    'msgbox b
    
    Dim status
    status=true
    msgbox status
    ’Action2
    Dim a

          Test9006_两位数加法器_变量

    Option Explicit
    Dim num1,num2
    num1="30"
    num2="50"
    Dim w
    w="Form1"
    VbWindow(w).VbEdit("Text1").Set num1
    VbWindow(w).VbEdit("Text2").Set num2
    VbWindow(w).VbButton("计算(J)").Click
    VbWindow(w).VbButton("退出(E)").Click
    VbWindow(w).Dialog("退出提示").WinButton("确定").Click

          Test9007_MTours_变量

    Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "zheng"
    Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a5dbfadfc15f4cf1e6b57bb"
    Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 31,2
    Dim pc
    pc=3
    Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("passCount").Select pc
    Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "London"

        (7)自动转换:VBS是弱类型语言,所以会根据变量使用的上下文来自动转换子类型。
          前提:该上下文就只是一种子类型的上下文。


      5、运算符和表达式
        (1)运算符
          a.算术运算符:+-*/^mod
          b.字符串连接符:&(建议)+(不建议)
          c.关系运算符:>、<、=、>=、<=、<>(不等于)
          d.逻辑运算符:and(与)、or(或)、not(非)

          注意:+前后如果都是字符串,会做连接,都是数字,会做加法,一个是字符串,一个是数字,建议使用&连接。
          Test9008_VBS运算符_算术&连接

    '========算术运算符==============
    'msgbox 2^3'乘方、幂、指数
    'msgbox 10/3'除法3.33333333333
    'msgbox 103'整除3
    'msgbox 10 mod 3'求余(相当于java中%)1
    'msgbox 10 mod 7'求余(相当于java中%)3
    
    '====字符串连接符=&+==================
    'Dim a,b,c,d,e,f
    'a=10
    'b=20
    'c="30"
    'd="40"
    'e="Hello"
    'f="World"
    'msgbox e+f'HelloWorld
    'msgbox c+d'3040
    'msgbox a+b'30
    'msgbox c+e'30Hello
    'msgbox a+e'报错:类型不匹配
    
    'msgbox e&f'HelloWorld
    'msgbox c&d'3040
    'msgbox a&b'1020
    'msgbox c&e'30Hello
    'msgbox a&e'10Hello
    
    '========逻辑运算符==========
    'msgbox 10>3 and 2=20'False
    'msgbox 10>3 or 2=20'True
    msgbox not 10>3'False
  • 相关阅读:
    分布式配置中心Apollo
    Polling、Long Polling、WebSocket
    Ajax轮询请求
    Spark系列:Python版Spark编程指南
    Python Http请求json解析库
    监听Rabbitmq系统日志(python版)
    mysql主从复制
    SAP FBN1 Number Range In Financial Accounting & Table Name NRIV, OBJ RF_BELEG
    Electronic Bank Statement Upload and Deletion
    SAP EPIC Interpretation Algorithms For Bank Statement Algorithms posting rule auto-calculation 电子银行对账单自动记账 FF_5, FEBAN
  • 原文地址:https://www.cnblogs.com/KalosOwen/p/8642212.html
Copyright © 2011-2022 走看看