|
五、 OUTPUT VALUE(在脚本1中操作)
1. Output Value 可以输出对象的属性值,在脚本运行期间存储这些值,在之后的脚本运行中可以把这些保存下来的值作为输入值。
2. 实际操作,取出插入的定单号order no,鼠标点到这个对象上,点击菜单的insert->output value->standard output value,出现一个属性框,这里选择你要保存的属性,这个例子中是text这个属性,选中之后点击modify,弹出一个output options对话框,第一个下拉框是选择以什么形式保存属性值,其中datatable是以数据表的形式保存,environment是以环境变量的形式保存,我们选取datatable。Name下拉框是选择数据表的名字,默认。下面的单选项中选择Global sheet以全局表来保存,另一个current action sheet是表示当前运行的表。点击OK结束。
3. 读取保存的属性值,这个例子中在open order的edit框中,点击value项的<#>这个符号,弹出一个设置对话框,选择parameter,下拉框选datatable和刚才保存的datatable的名字,单选项中选择Global sheet,点击确定。
六、 多张定单
1. 先确定你要重复的步骤,然后写循环语句。
2. 将重复的步骤加到循环里。
七、 多张定单+驱动数据
1. 首先将老师给出的数据依次复制到datatable中,注意,如果要转换特殊字符,在前面+’。
2. 这个操作其实是参数化操作,其中有三种类型:
i. 对象参数化
1. 右击要参数化的对象,出现object properties对话框
2. 确定你要识别对象的属性,这个例子是text属性,点击parameter
3. 再点击parameter options按键,选择数据源。这个例子选择datatable,下面的Name下拉框选择class。
ii. 值参数化
1. 在关键字窗口单击对象的value属性,出现values configuration options
2. 选择数据源步骤同上
iii. CP参数化
1. 在关键字窗口单击CP的value属性,点击对号的按钮,出现checkpoint properties窗口。
2. 选择数据源步骤类似
iv. 这里要说明的是在对象参数化的时候,要搞明白是通过哪个属性识别对象的,然后对这个属性进行参数化。
八、 Action
1. action拆分
i. 并行:在同一层次上
ii. 嵌套:父action会有一条语句调用子action,如果不想执行子action的操作,可以将这条语句注释掉
2. action复用:如果复用,可以在另外一个脚本中调用,调用时注意
i. insert call to copy to action:将被调用的action拷贝了一个,修改时,被调用的action没有被修改。
ii. insert call to existing action:调用一个已存在的action,修改时,被调用的action也被修改了。
九、 遍历
1. 建议这个操作新建一个action。这里可以将登录和新建划分为二个action,将这个操作的action嵌套在登录里,在登录action里把之前新建部分的action注释掉。
2. 新建的action代码和注释如下:
Option explicit
'定义变量
Dim strfrom
Dim flyto()
Dim flyfrom
Dim i,j
'将Fly From:下拉框的内容取出来,赋给strfrom
'使用F7插入对象,gategroy选test objects,object选Fly From,operation选GetContent
strfrom=Window("Flight Reservation").WinComboBox("Fly From:").GetContent
'msgbox strfrom
'将下拉框的内容拆分赋给数组flyfrom
flyfrom=split(strfrom,chr(10))
'重新定义数组flyto个数是flyfrom的最大下标
ReDim flyto(ubound(flyfrom))
'将flyfrom的最大的一个元素的值赋给flyto的第一个元素
flyto(0)=flyfrom(ubound(flyfrom))
'将flyfrom的值向后错一位赋值给flyto
For i=0 to ubound(flyfrom)-1
flyto(i+1)=flyfrom(i)
'msgbox flyfrom(i)
Next
'循环操作
For j=0 to ubound(flyfrom)
Window("Flight Reservation").WinMenu("Menu").Select "File;New Order"
Window("Flight Reservation").ActiveX("MaskEdBox").Type "060606"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "51testing"
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinEdit("Tickets:").Set "2"
Window("Flight Reservation").WinRadioButton("Business").Set
Window("Flight Reservation").WinButton("Insert Order").Click
wait (8)
'将定单号输出到datatable
Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:")
'插入repor,后面的信息自己定义
Reporter.ReportEvent micDone, "订单信息", "订单号:" & DataTable("Order_No_text_out1", dtGlobalSheet) &" " & " 起始点:" & flyfrom(j) & " " & " 终点:" & flyto(j)
datatable.SetNextRow
Next
'Window("Flight Reservation").WinComboBox("Fly To:").GetContent
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
快考试了,写的不太详细,没有把所有步骤完全写下来,有什么问题咱们再交流 |
|