示例一
- 创建一个可重复利用的登录测试
- 更改Action的名称。
- 使用本地数据表。
- 创建一个主调用测试。
- 建立测试迭代。
- 处理缺失的Action。
分析:就是创建一个只有登录的测试起名为login,然后在创建一个主测试起名字比如main,在main中,调用登录测试副本,然后接着录制订票操作和退出操作,在订票Action中使用本地数据表进行参数化完成迭代。
各部分脚本如下:
Login——>
Dialog("Login").WinEdit("Agent Name:").Set "B20041300"
Dialog("Login").WinEdit("Password:").SetSecure "6448c99a09a3368434e0107243758f70dee40866"
Dialog("Login").WinButton("OK").Click
newOrder——>
Window("Flight Reservation").ActiveX("MaskEdBox").Type "121224"
Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("Fly_From", dtLocalSheet)
Window("Flight Reservation").WinComboBox("Fly To:").Select DataTable("Fly_To", dtLocalSheet)
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "虹猫"
Window("Flight Reservation").WinButton("Insert Order").Click
Logout——>
Window("Flight Reservation").Close
在newOrder数据表中设置参数,如下图:
下面说一下怎么调用操作副本,如下图
首先我们创建了一个只有Login的测试。然后在创建另一个主测试,在主Action中右键
选择我们之前创建好的login测试
然后你会看到下图
接着就是把订票和退出action加入进去
首先进行运行设置
然后我们运行,它会在登录后结束,这时候 飞机已经出来了。
我们只需要点击录制,进行插入新操作,进行 补录订票和退出就行了。
最后模块如图所示:最后把上面的Action删除了就好
示例二
- 创建一个测试,包括登录、订票、退出三个Action。
- 将登录Action的用户名参数化,采用全局表中数据。
- 将订票Action的Fly From/Fly To参数化,采用本地表中数据。
- 在文件|设置|运行中设置迭代次数为所有行运行,将订单Action的迭代次数设置为只一次迭代。分别采用以下三种数据组合,观察记录运行结果,并给出结论。
全局表global
本地表(订单)
表中数据行数
2
2
表中数据行数
2
3
表中数据行数
3
2
在文件|设置|运行中设置迭代次数为所有行运行,将订单Action的迭代次数设置为所有行运行;在全局表中设置2行数据,在订单Action的本地表中设置3行数据,观察运行结果。
分析:这个和之前的UFT参数化中的测试没什么区别,唯一的区别就是数据表中的数据不一样。
首先我们创建一个包含三个action的测试
然后进行运行设置,在登录action中加入复制的代码:
SystemUtil.Run "你复制的飞机路径"
如下图我们需要在global数据表中进行设置用户名参数化,在订票中设置城市参数化
数据分别按要求进行设置即可。
之后进行设置如何迭代,点击订票右键
结论:————
代码示例如下
登录示例——>
SystemUtil.Run "E:\software\HP\Unified Functional Testing\samples\flight\app\flight4a.exe"
Dialog("Login").WinEdit("Agent Name:").Set DataTable("UserName", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").SetSecure "6448d0406ebba95e062410699a1f23cf667fcdd9"
Dialog("Login").WinButton("OK").Click
订票示例——>
Window("Flight Reservation").ActiveX("MaskEdBox").Type "121224"
Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("Fly_From", dtLocalSheet)
Window("Flight Reservation").WinComboBox("Fly To:").Select DataTable("Fly_To", dtLocalSheet)
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "虹猫"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").WinButton("Button").Click
退出示例——>
Window("Flight Reservation").Close
示例3(*)
- 创建一个测试,包括登录、订票、退出三个Action。
- 在订单Action中调用新操作“修改订单”作为自操作。
- 将订票Action的Fly From/Fly To参数化,采用本地表中数据。
- 将“修改订单”Action设置一个输入参数。将订单Action的迭代次数设置为所有行运行。
- 在订单Action中利用GetRoproperty方法获取生成的订单号,将该订单号作为调用“修改订单”Action的输入参数。
- 运行并观察结果。
首先新建测试并改名Action
进行运行设置
开始录制。
设置参数化
代码示例:
订票示例——>
Window("Flight Reservation").ActiveX("MaskEdBox").Type "121224"
Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("Fly_From", dtLocalSheet)
Window("Flight Reservation").WinComboBox("Fly To:").Select DataTable("Fly_To", dtLocalSheet)
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").Activate
Window("Flight Reservation").WinEdit("Name:").Set "虹猫"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "text", "Insert Done...", 10000
num=Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")
RunAction "修改订单", allIteration,num
修改订单示例——>
Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set Parameter("num")
Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
Window("Flight Reservation").WinButton("Update Order").Click
Window("Flight Reservation").WinButton("Button").Click
至此完毕。--------------------------------------------------------------------------------------------------------