一、Action
  1、调用Action
    C:\Program Files\HP\QuickTest Professional\CodeSamplesPlus\Flight_Samples
    (1)调用Action的操作步骤:
      a.在Keyword View中,右击Action选择Insert\Call to Existing Action(插入已经存在的Action)
      b.From Test:选择调用哪个Test的Action
      c.Action :选择要调用哪个Action
      d.Location
        At the end of the test:放在Test之后,与默认Action1为兄弟关系
        After current step:放在Action里面,与Action嵌套,跟Action为父子关系
    (2)说明:
      a.只有可复用(Reusable Action)才能被调用,不可复用Action不能被调用
      b.调用来的Action不能修改,可以运行和查看
    (3)注意事项:
      a.注意调用来的Action与前后Action的衔接性
      b.如果调用的Action做为当前Test的第一个Action,要注意被测系统的启动方式

  2、Action的分类:
    (1)可复用Action:Reusable Action,可以被其他Test调用
    (2)不可复用Action:Non-Reusable Action,不可用被其他Test调用,但可以被复制
    (3)外部Action:External Action,从其他Test调用来的Action,不可用修改

  3、复制Action
    (1)复制Action的步骤:
      a.在Keyword view中右击Action选择Insert call to copy of Action (复制Action)
      b.From Test:选择从哪个Test复制
      c.Action:选择复制哪个Action
      d.Edit new Action Properties:选择是否修改复制来的Action的属性
      e.Location:选择位置
        At the end of the test:放在Test之后,与默认Action1为兄弟关系
        After current step:放在Action里面,与Action嵌套,跟Action为父子关系
    (2)说明:
      a.可复用和不可复用的Action都可以被复制
      b.复制会生成新的Action,新的Action可以进行编辑

  4、分割Action
    (1)分割Action的步骤:
      a.把光标定位在拆分后的第二个Action第一行代码最前面
      b.点击Edit->Action->Split Action(分割Action)
      c.如果当前Action是可复用Action,会提示是否拆分,点击"是"
      d.如果当前代码未保存,会提示是否保存,点击"是"
      e.在Split Action属性框中设置属性:
        --选择Action拆分后的关系
          Independent of each other:兄弟关系
          Nested:父子关系,嵌套
        --设置第一个Action的Name名称、Description描述
        --设置第二个Action的Name名称、Description描述
    (2)说明:
      a.不建议录制后分割Action,建议录制时分Action录制
      b.分割时一次只能分割2个Action
      c.分割后想恢复代码,就把分割后的代码剪切到一个Action即可

      练习1:Mtours
        Test001:录制可复用的2个Action(登录、退出)

’登录Action
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a5c5b45e4926063ac528f28"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 19,6
’退出Action
Browser("Find a Flight: Mercury").Page("Find a Flight: Mercury").Image("sign-off").Click
Browser("Find a Flight: Mercury").Page("Sign-on: Mercury Tours").Sync
Browser("Find a Flight: Mercury").Close

        Test002:录制不可复用的2个Action(登录、退出)

’登录Action
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a5c5c0bb7a40d133b4795a4"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 19,6
’退出Action
Browser("Find a Flight: Mercury").Page("Find a Flight: Mercury").Image("sign-off").Click
Browser("Find a Flight: Mercury").Page("Sign-on: Mercury Tours").Sync
Browser("Find a Flight: Mercury").Close

        Test003:录制可复用的1个Action(包括登录+购票+退出),分割为3个Action

’登录Action
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a5c5ca797dc504f32dcbccb"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 10,5
’购票Action
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "London"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "Paris"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 66,9
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 44,6
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "abc"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "abc"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "123"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 63,10
’退出Action
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("sign-off").Click
Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").Sync
Browser("Welcome: Mercury Tours").Close

        Test004:调用Test001的登录Action,调用Test003的购票Action,调用Test001的退出Action

Call RunAction("登录 [Test001AAA]", oneIteration)
Call RunAction("购票 [Test003CCC]", oneIteration)
Call RunAction("退出 [Test001AAA]", oneIteration)

  

        Test005:复制Test001的登录Action,复制Test003的购票Action,复制Test002的退出Action

’登录Action
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "5a5c5b45e4926063ac528f28" Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 19,6
a.操作方法:Click
b.操作的对象:Sign-In
c.操作使用的参数:19,6
d.操作对象的类型:Image
e.父对象:Welcome: Mercury Tours
f.父对象的类型:Page
g.参数个数:2
g.参数个数:2
’购票Action
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "London"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "Paris"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 66,9
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 44,6
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "abc"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "abc"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "123"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 63,10
’退出Action
Browser("Find a Flight: Mercury").Page("Find a Flight: Mercury").Image("sign-off").Click
Browser("Find a Flight: Mercury").Page("Sign-on: Mercury Tours").Sync
Browser("Find a Flight: Mercury").Close

--------------------------------------------------------------------------------------------------------------------------------------------------

QTP高级
一、解读Expert View专家视图的代码
  1、专家视图的一行代码可以是:
    a.录制好的一个操作步骤
    b.一个VBS函数,如wait
    c.一个VBS语句,如if 、 for 、 do loop
    d.一行注释

  2、解读录制好的一个操作步骤的语法格式
    Dialog("Login").WinEdit("Agent Name:").Set "abcd"
    (1)每个对象的描述格式:对象类型("对象名称"),如:Dialog("Login")
      区("朝阳")
      国家("中国")
    (2)操作对象和操作方法使用 . 连接(英文状态下的点)
    (3)操作方法和参数之间使用空格分割
    (4)多个参数使用逗号分割
    (5)父对象与子对象使用 . 分割
    (6)描述对象是从顶级对象开始描述

3、解读案例:
  Dialog("Login").WinEdit("Agent Name:").Set "abcd"
    a.操作方法:Set
    b.操作的对象:Agent Name:
    c.操作使用的参数:"abcd"
    d.操作对象的类型:WinEdit输入框
    e.父对象:Login
    f.父对象的类型:Dialog对话框
    g.参数个数:1个

  Dialog("Login").WinButton("Cancel").Click
    a.操作方法:Click
    b.操作的对象:Cancel
    c.操作使用的参数:没有
    d.操作对象的类型:WinButton
    e.父对象:Login
    f.父对象的类型:Dialog
    g.参数个数:0

  叫北京的张三来上课
    城市("北京").学生("张三").上课 "QTP"

4、常用的Windows控件的类型及其常用方法
  控件类型 控件方法
  (1)WinEdit文本框---Set "值"
    SetSecure "加密值"
    Type "值"
  (2)WinButton按钮---Click
  (3)WinComboBox下拉框\组合框---Select "选项内容"、Select 选项编号,编号是数字,从0开始
  (4)WinList列表框---Select "选项内容"、Select 选项编号,编号是数字,从0开始
  (5)WinRadioButton单选按钮---Set 注意:Set 后面没有参数
  (6)WinCheckBox复选框---Set "ON" 选中、Set "OFF" 未选中
  (7)ActiveX---Type "值"
  (8)Window窗口---Close、Activate激活
  (9)Dialog对话框---Close
  (10)Static静态---Click
  (11)WinMenu菜单---Select "一级;二级;三级"
  (12)WinObject无法识别的控件对象---Type "值"、Click

    Window("计算器").WinButton("1").Click
    Window("计算器").WinButton("1").Click
    Window("计算器").WinButton("+").Click

QTP(8)的更多相关文章

  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(9)

    常用的Windows控件 WinEdit---Set "数据值" SetSecure "加密数值" WinButton---Click WinComboBox- ...

  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. 安装最新docker-ce失败解决

    报错 下载 检查本地是否已经安装 rpm -qa |grep containerd.io 如果有低版本的,卸载即可. 安装新版的containerd.io软件包 wget https://downlo ...

  2. Mrchen测试人生

    auto:chenyq date:20190920 data:今天是我从事10年IT软件测试工作来的 开始写技术博客的第一次,希望今后能给互联网需要查询技术知识带来方便: 说起我的测试人生 路也走了1 ...

  3. 云计算openstack核心组件--glance-镜像服务(6)

    glance做什么 OpenStack 由 Glance 提供 Image 服务 获取镜像位置 https://docs.openstack.org/image-guide/obtain-images ...

  4. 安装aodh

    在控制节点上执行 #!/bin/bash MYSQL_ROOT_PASSWD='m4r!adbOP' GNOCCHI_PASSWD='gnocchi1234!' CEILOMETER_PASSWD=' ...

  5. 【并行计算-CUDA开发】关于共享内存(shared memory)和存储体(bank)的事实和疑惑

    关于共享内存(shared memory)和存储体(bank)的事实和疑惑 主要是在研究访问共享内存会产生bank conflict时,自己产生的疑惑.对于这点疑惑,网上都没有相关描述, 不管是国内还 ...

  6. 性能排查--CPU占用高

    排查思路: 1.先找到占用CPU高的进程PID    top命令 2.top -H -p <PID>  查看哪个占用CPU高的线程TID 3.jstack <PID>  /ho ...

  7. 项目使用Hbase进行数据快速查询的代码案例

    之前项目中对于数据详情的查询使用的ddb技术,由于成本过高,现考虑使用开源的hbase框架,借此机会进行hbase的代码案例记录,之前已经对 hbase的原理进行介绍,介绍了hbase中的rowkey ...

  8. C语言Ⅰ博客作业09

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10029 我在这个课程的 ...

  9. 学习笔记:CentOS7学习之十四:linux文件系统

    目录 1. 机械硬盘结构 1.1 机械硬盘结构 1.2 簇和block 2.文件系统结构 2.1 文件名 2.2 inode的内容 2.3 inode的大小 2.4 目录文件 2.5 block块大小 ...

  10. [计蒜客T2237]魔法_树

    魔法 题目大意: 数据范围: 题解: 这个题挺好玩的 可以用反证法,发现所有叶子必须都得选而且所有叶子都选了合法. 故此我们就是要使得,一次操作之后使得叶子的个数最少. 这怎么弄呢? 我们发现,如果一 ...