练习:录制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的值

最新文章

  1. CloudStack4.4安装 ubuntu14.04
  2. java 代理模式一: 静态代理
  3. TCP建立连接、断开连接以及正常报文的报头和报位的大小
  4. bzoj 2286: [Sdoi2011消耗战
  5. 经典线程同步 关键段CS
  6. PLSQL_性能优化系列11_Oracle Bulk Collect批处理
  7. appium for windows 环境搭建
  8. TcxDBLookupCombobox 级联时第二级不显示正确内容的处理方法
  9. CCTableView的使用和注意事项
  10. 关于一个隐藏和显示物品列表的demo
  11. 使用PHP的strstr()函数来统计一段字符串中元音字母的个数(区分大小写)
  12. 《高性能MySQL(第3版)》【PDF】下载
  13. 版本控制—使用Gradle自动管理应用程序版本
  14. ros_indigo使用keyboard键盘控制虚拟或实际机器人
  15. Java并发编程:Lock(锁)
  16. 使用以下映射将包含A-ZIS的字母的消息编码为数字:&#39;A&#39; - &gt; 1,&#39;B&#39; - &gt; 2 ...&#39;Z&#39; - &gt; 26 给定包含数字的编码消息,确定解码方式的总数(python)(原创)
  17. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
  18. Wordpress安装Redis为网站加速
  19. autofac 实例生命周期
  20. VS2010/MFC编程入门之四十二(MFC常用类:CString类)

热门文章

  1. 什么是vue生命周期和生命周期钩子函数?
  2. 手把手教你在pycharm上上传项目至GitHub
  3. 10.hive安装
  4. 【Python】【demo实验29】【练习实例】【使用turtle画五角星】
  5. 什么时候该使用SUM()函数
  6. Netty对常用编解码的支持
  7. PAT A1036 Boys vs Girls(25)
  8. Java中的自动拆装箱(转)
  9. 【计数】Simple Addition Expression
  10. nginx-host