常用的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 Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","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 10\3'整除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

QTP(9)的更多相关文章

  1. QTP(16)

    一.QTP项目(ECShop) 1.ECShop是一个开源免费的一个B2C的电子商务系统,主要用于商家和顾客进行商品交易操作. 2.ECShop分为前台和后台两个子系统: (1)ECShop前台:顾客 ...

  2. QTP(14)

    练习1.Flight4a 要求: a.录制Flight4a登录+退出业务流程 b.使用自定义检查结合Exist属性验证登录是否成功 c.为用户名实现参数化 用户名 Jack 正确 Rose 正确 12 ...

  3. QTP(13)

    练习1:Flight4a 要求: a.录制Flight4a登录+购票+退出业务流程 b.实现登录1次,购票3次,退出1次 c.对Fly From.Fly to.航班实现随机参数化 随机参数化:Rand ...

  4. QTP(12)

    练习:录制两位数加法器加法计算后退出的步骤,对两个加数做随机数参数化,随机数范围是0-50,在计算后获得被测系统计算的结果,判断如果结果等于100,msgbox提示“满分”,如果结果在80和99之间, ...

  5. QTP(10)

    一.VBS语言基础 1.运算符和表达式 (1)运算符 (2)表达式 a.数学表达式:由算术运算符连接,计算结果为数字 b.字符串表达式:由字符串连接符连接,计算结果为字符串 c.条件表达式:由关系运算 ...

  6. QTP(8)

    一.Action 1.调用Action C:\Program Files\HP\QuickTest Professional\CodeSamplesPlus\Flight_Samples (1)调用A ...

  7. QTP(7)

    一.输出值(Output Value) 1.应用场景: 1) 关心被测系统的数据 2) 将被测系统生成的数据作为后面步骤的输入 2.输出值就是输出被测系统中实际运行时的数据的一种技术 a.运行中对象的 ...

  8. QTP(6)

    一.检查点 1.标准检查点(Standard Checkpoint) 作用:检查对象的属性值是否正确 文本框对象:text 预期值 单选按钮对象:checked ON/OFF 下拉框对象:Select ...

  9. QTP(5)

    一.检查点 1.位图检查点(Bitmap CheckPoint) (1)作用:主要用于检查UI界面,检查页面布局,包括控件位置.大小.颜色.状态等 (2)确定位图检查点的要素: a.检查哪个控件 b. ...

随机推荐

  1. Unity Shader的形式

    (1)表面着色器 表面着色器是Unity自身的一种着色器代码类型.它需要的代码量很少,Unity在背后做了很多工作,但渲染的代价比较大.但Unity在背后仍旧把表面着色器转换成对应的顶点/片元着色器. ...

  2. 安装heat

    在控制节点上执行 controller-heat(){mysql -uroot -p${MYSQL_PASSWD} << EOF DROP DATABASE IF EXISTS heat; ...

  3. LCA -cogs2098 [SYOI 2015] Asm.Def的病毒

    题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=vQXmxVaPU [题目描述] “这就是我们最新研制的,世界上第一种可持久化动态计算机病 ...

  4. Pytorch构建ResNet

    学了几天Pytorch,大致明白代码在干什么了,贴一下.. import torch from torch.utils.data import DataLoader from torchvision ...

  5. MySQL知识篇-SQL2

    1 数据库基本操作? (1) 查看数据库 show databases; (2)切换到指定的数据库 use dbname; (3)创建数据库 create database 库名 charset=ut ...

  6. MySQL连接处理方式及最佳并发连接数设置

    MySQL连接处理方式及最佳并发连接数设置 mysql是单进程,多线程的架构,通过创建多个线程来服务不同的用户连接,通常情况下,随着用户连接数的增加,mysql内部用于处理用户连接的线程也会同步的增长 ...

  7. Spring Boot + Vue 跨域请求问题

    使用Spring Boot + Vue 做前后端分离项目搭建,实现登录时,出现跨域请求 Access to XMLHttpRequest at 'http://localhost/open/login ...

  8. awk 打印从某一列到最后一列的内容

    数据内容来源于  linux history的命令输出 awk命令 history|awk -F " " '{for (i=2;i<=NF;i++)printf(" ...

  9. 重载(overload)和重写(override)的区别

    方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性. 重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则 ...

  10. Linux系列(5):入门之文件类型与扩展名

    通过本章你会了解到: 文件类型有哪些? 文件扩展名的意义是什么? 1.文件类型 任何设备在Linux系统中都是文件,不仅如此,连数据沟通的接口也有专属的文件在负责,所以Linux的文件种类真的很多,除 ...