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

    练习:录制Flight登录-打开1-10之间随机编号的订单-退出,打开完订单后,退出前,使用msgbox输出“顾客x预定了y从z到w的c类型的k张票!”
    说明:x是顾客姓名、y是日期、z是FlyFrom、w是FlyTo、k是Tickets票数、c是舱位类型
    Test11001_Flight_GetROProperty

    Dialog("Login").WinEdit("Agent Name:").Set "1234"
    Dialog("Login").WinEdit("Password:").SetSecure "5a5ff267c9e6daeadbe432336ed074e40c8e88af"
    Dialog("Login").WinButton("OK").Click
    Window("Flight Reservation").WinButton("Button").Click
    Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
    Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set cstr(RandomNumber(1,10))
    Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
    Dim x,y,z,w,k,c'定义一组变量
    '获得顾客姓名
    x=Window("Flight Reservation").WinEdit("Name:").GetROProperty("text")
    print x
    '获得日期
    y=Window("Flight Reservation").ActiveX("MaskEdBox").GetROProperty("text")
    print y
    '获得起飞城市
    z=Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty("selection")
    print z
    '获得到达城市
    w=Window("Flight Reservation").WinComboBox("Fly To:").GetROProperty("selection")
    print w
    '获得舱位类型
    Dim f,b,e'First、Business、Economy三个单选按钮的选中状态
    f=Window("Flight Reservation").WinRadioButton("First").GetROProperty("checked")
    print f
    b=Window("Flight Reservation").WinRadioButton("Business").GetROProperty("checked")
    print b
    e=Window("Flight Reservation").WinRadioButton("Economy").GetROProperty("checked")
    print e
    If f="ON" Then
    	c="头等舱"
    Elseif b="ON" Then
    	c="商务舱"
    Else
    	c="经济舱"
    End If
    '获得票数
    k=Window("Flight Reservation").WinEdit("Tickets:").GetROProperty("text")
    print k
    '输出信息
    msgbox "顾客"&x&"预定了"&y&"从"&z&"到"&w&"的"&c&"类型的"&k&"张票!"
    Window("Flight Reservation").Close

    一、分支结构:
      1、If语句---重点!!
        (1)语法:
          If 条件表达式1 Then
            语句块1
          Elseif 条件表达式2 Then
            语句块2
          Elseif 条件表达式3 Then
            语句块3
          Else
            语句块n
          End if
        (2)说明:
          a.If分支只有一个,而且出现在开头位置
          b.Elseif分支可以出现0到多个
          c.Else分支可以出现0到1个,而且出现在最后一个分支
        (3)功能:
          a.当条件表达式1成立时,执行语句块1
          b. 当条件1不成立并且条件2成立时,执行语句块2
          c.以此类推
          d.如果所有条件都不成立时,执行语句块n
          e.每个分支的语句块执行后,都直接跳转到End If后继续执行
        (4)注意:
          a.If和End if配对出现
          b.Elseif中间不要加空格
          c.条件表达式后都要在同一行中加Then
          d.Else单独占用一行

            练习:判断当前是什么季节?
              2-4月 春季 5-8月夏季
              9-10月 秋季 11-1月 冬季
            Test11002_VBS分支_四季

    Dim d
    'd=date()'获得当前日期
    'msgbox d
    d="2018-10-01"
    Dim m
    m=month(d)'获得指定日期的月份数,返回值是1-12的Integer
    'msgbox m
    
    If m>=11 or m=1 Then
    	msgbox "冬季"
    	msgbox "希望下雪!"
    Elseif m>=2 and m<=4 Then
    	msgbox "春季"
    Elseif m>=5 and m<=8 Then
    	msgbox "夏季"
    Else 
    	msgbox "秋季"
    End If

            例:
              Dim d
              'd=date()'获得当前日期
              'msgbox d
              d="2018-10-01"
              Dim m
              m=month(d)'获得指定日期的月份数,返回值是1-12的Integer
              'msgbox m

              If m>=11 or m=1 Then
                msgbox "冬季"
                msgbox "希望下雪!"
              Elseif m>=2 and m<=4 Then
                msgbox "春季"
              Elseif m>=5 and m<=8 Then
                msgbox "夏季"
              Else
                msgbox "秋季"
              End If

            练习:两位数加法器,录制加法计算后退出的步骤,将两个加数数据提前通过Inputbox获取到,判断如果两个加数都有效,就输入到被测系统中计算,再退出系统,否则直接退出被测系统。
            说明:都有效指都在-99和99之间。
            Test11003_两位数加法器_If

    Dim n1,n2
    n1=cint(Inputbox("请输入第一个数"))
    n2=cint(Inputbox("请输入第二个数"))
    
    '判断如果两个加数都有效
    If n1>=-99 and n1<=99 and n2>=-99 and n2<=99 Then
    	'就输入后计算
    	VbWindow("Form1").VbEdit("Text1").Set n1
    	VbWindow("Form1").VbEdit("Text2").Set n2
    	VbWindow("Form1").VbButton("计算(J)").Click
    End If
    '否则就直接退出
    VbWindow("Form1").VbButton("退出(E)").Click
    VbWindow("Form1").Dialog("退出提示").WinButton("确定").Click

            练习:Flight,录制3个Action:登录-试图打开1000号订单,对提示信息做检查,关闭提示框,关闭打开订单的窗口-退出,对打开订单中的订单号做Action参数化,在DataTable准备数据如下:1、1000、5、8、2000、10,书写代码判断如果订单号大于200,那么检查提示信息后取消打开订单
            注意:检查点的预期值也需要做Action参数化
            Test11004_Flight_打开订单_If

    登录Action()
    Dialog("Login").WinEdit("Agent Name:").Set "1234"
    Dialog("Login").WinEdit("Password:").SetSecure "5a603c6bef79099c027adcffab89b8da7d25f599"
    Dialog("Login").WinButton("OK").Click
    
    打开订单Action()
    Window("Flight Reservation").WinButton("Button").Click
    Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
    Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set DataTable("订单号",dtLocalSheet)
    Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
    If cint(DataTable("订单号",dtLocalSheet))>200 Then
    	Window("Flight Reservation").Dialog("Open Order").Dialog("Flight Reservations").Static("Order number 1000 does").Check CheckPoint("Order number 1000 does not exist")
    	Window("Flight Reservation").Dialog("Open Order").Dialog("Flight Reservations").WinButton("确定").Click
    	Window("Flight Reservation").Dialog("Open Order").WinButton("Cancel").Click
    End If
    
    退出Action()
    Window("Flight Reservation").Close

      2、Select Case语句
        (1)作用:类似于java语言中的switch结构,判断同一个内容等于不同值时,做不同的处理,一般用于多分支结构中。
        (2)语法:
          Select Case 内容
          Case 值1
            语句块1
          Case 值2
            语句块2
          Case Else
            语句块n
          End Select
        (3)说明:
          a.Case分支可以出现1到多个
          b.Case Else分支可以出现0到1个,并且在所有Case分支后
          c.Select Case和End Select配对出现
        (4)功能:
          a.当判断的内容等于值1时,执行语句块1
          b.当等于值2时,执行语句块2
          c.当不等于以上所有值时,就执行语句块n
          d.任何一个分支的语句块执行后,都直接跳转到End Select后继续执行。
        (5)注意:
          a.每个值都和判断的内容子类型相同
          b.每个Case后的值不要重复
          c.Case Else单独占用一行,其后不要书写值
          d.不要在Select Case后,第一个Case前书写任何代码

          练习:判断当前是周几?
          Test11005_VBS分支_星期几

    Dim d
    d=date()
    Dim w
    w=weekday(d)'获得当前是周几的整数1-7
    msgbox w'1代表周日、2代表周一……6代表周五、7代表周六
    
    Dim n
    n=4
    Select Case cint(w)
    '注意:此位置不要书写代码
    Case 1
    	msgbox "周日"
    	msgbox "==="
    Case 2
    	msgbox "周一"
    Case 3
    	msgbox "周二"
    Case n
    	msgbox "周三"
    Case n+1
    	msgbox "周四"
    Case Else
    	msgbox "周五或周六"
    End Select

          练习:录制Flight的3个Action:登录-订票-退出,对订票时的顾客姓名和舱位类型做Action参数化
            jack 商务舱
            rose 经济舱
            peter 头等舱
            alice 商务舱
          Test11006_Flight_订票_Select Case

    登录Action()
    Dialog("Login").WinEdit("Agent Name:").Set "1234"
    Dialog("Login").WinEdit("Password:").SetSecure "5a605288711b4f31adca14510c20341fe1415f7f"
    Dialog("Login").WinButton("OK").Click
    
    订票Action()
    Window("Flight Reservation").WinButton("Button").Click
    Window("Flight Reservation").ActiveX("MaskEdBox").Type "111119"
    Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
    Window("Flight Reservation").WinComboBox("Fly To:").Select "Los Angeles"
    Window("Flight Reservation").WinButton("FLIGHT").Click
    Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "20334   FRA   12:12 AM   LAX   07:23 PM   AA     $112.20"
    Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
    Window("Flight Reservation").WinEdit("Name:").Set DataTable("姓名",dtLocalSheet)
    Select Case DataTable("舱位",dtLocalSheet)
    Case "头等舱"
    	Window("Flight Reservation").WinRadioButton("First").Set
    Case "商务舱"
    	Window("Flight Reservation").WinRadioButton("Business").Set
    Case Else
    	Window("Flight Reservation").WinRadioButton("Economy").Set
    End Select
    Window("Flight Reservation").WinButton("Insert Order").Click
    
    退出Action()
    Window("Flight Reservation").Close

    二、循环结构
      1.For循环---重点!!
        (1)作用:实现固定次数的循环。
          Test11007_VBS循环_For

    'Option Explicit
    'Dim abc
    'For abc=10 to 2 step -2
    '	print abc
    '	print "===="
    '	print "******"
    'Next
    
    '练习:1+2+3+4+5+……+9+10=?
    'Dim i
    'Dim sum
    'sum=0
    'For i=1 to 10
    '	print i
    '	sum=sum+i
    'Next
    'print sum'55
    
    '练习:1+2+3+4+5+……+9+10,
    '过程中如果结果大于20就不再加
    Dim i
    Dim sum
    sum=0
    For i=1 to 10
    	print i
    	sum=sum+i
    	print "==========="'打印??次-----6次
    	If sum>20 Then
    		print "###########"'打印??次-----1次
    		Exit For'强制退出For循环,类似于java的break
    		print "+++++++++++++"'打印??次----0次
    	End If
    	print "***************"'打印??次----5次
    Next
    print sum'1+2+3+4+5+6=21

        (2)语法:
          For 循环变量=初值 To 终值 Step 步长
            循环体
            If 条件表达式 Then
              Exit For
            End if
          Next
        (3)说明:
          a.Step 步长可以出现0到1次
          b.Exit For可以出现0到1次
          c.默认步长是1,步长可以是整数或小数,也可以是负数(初值要大于终值)
          d.Exit For一般用于一个分支中
        (4)功能:
          a.开始执行时,循环变量赋值为初值
          b.每次执行循环体前,都会判断循环变量的当前值,如果未超过终值,会执行本次循环,否则就退出循环
          c.每次执行循环体后,循环变量都会自动增加步长的值。
          d.执行到Exit For,就退出整个循环。
        (5)注意:
          a.For和Next配对出现
          b.在Exit For的同分支中,其后不要书写代码
        (6)在自动化测试中,使用任何循环语句,都要保证循环体的首尾步骤能衔接操作执行。

          练习:Flight,实现登录-打开1到5号订单-退出
          Test11008_Flight_打开订单_For

    Dialog("Login").WinEdit("Agent Name:").Set "1234"
    Dialog("Login").WinEdit("Password:").SetSecure "5a606bf62bc7faefd0565da1055934be2b003951"
    Dialog("Login").WinButton("OK").Click
    Dim i
    For i=1 to 5
    	Window("Flight Reservation").WinButton("Button").Click
    	Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
    	Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set i
    	Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
    Next
    Window("Flight Reservation").Close

          练习:Flight,实现登录-打开2到7号订单-退出
          Test11009_Flight_打开订单_For

    Dialog("Login").WinEdit("Agent Name:").Set "1234"
    Dialog("Login").WinEdit("Password:").SetSecure "5a606bf62bc7faefd0565da1055934be2b003951"
    Dialog("Login").WinButton("OK").Click
    Dim i
    For i=1 to 6
    	Window("Flight Reservation").WinButton("Button").Click
    	Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
    	Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set i+1
    	Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
    Next
    Window("Flight Reservation").Close

            方法一:初值改为2,终值改为7
            方法二:初值是1,终值是6,订单号使用i+1的值

          练习:Flight,实现登录-打开2、4、6、8、10号订单-退出
            方法一:初值改为2,终值改为10,步长2
            方法二:初值是1,终值是5,订单号使用i*2的值

  • 相关阅读:
    laravel 的passport Oauth 认证登录请求 的 oauth_token 重置
    多个php版本的composer使用
    MySQL查询语句练习题(面试时可能会遇到哦!)
    tp5 url 线上访问 在nginx 上 出现404错误,解决办法(1.80nginx 配置 pathInfo)
    源码编译安装lnmp环境(nginx-1.14.2 + mysql-5.6.43 + php-5.6.30 )------踩了无数坑,重装了十几次服务器才会的,不容易啊!
    Mysql错误处理: /usr/bin/mysqld_safe: line xxx: xxxx Killed ... (mysql自动停止 Plugin FEDERATED is disabled 的完美解决方法)
    Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist
    thinkphp5的mkdir() Permission denied问题
    微信小程序 Unexpected end of JSON input/Unexpected token o in JSON at position 1
    服务器 apache配置https,http强制跳转https(搭建http与https共存)
  • 原文地址:https://www.cnblogs.com/KalosOwen/p/8810572.html
Copyright © 2011-2022 走看看