UFT——操作模块

 示例一

  1. 创建一个可重复利用的登录测试
  2. 更改Action的名称。
  3. 使用本地数据表。
  4. 创建一个主调用测试。
  5. 建立测试迭代。
  6. 处理缺失的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删除了就好


 示例二

  1. 创建一个测试,包括登录、订票、退出三个Action。
  2. 将登录Action的用户名参数化,采用全局表中数据。
  3. 将订票Action的Fly From/Fly To参数化,采用本地表中数据。
  4. 在文件|设置|运行中设置迭代次数为所有行运行,将订单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(*)

  1.  创建一个测试,包括登录、订票、退出三个Action。
  2. 在订单Action中调用新操作“修改订单”作为自操作。
  3. 将订票Action的Fly From/Fly To参数化,采用本地表中数据。
  4. 将“修改订单”Action设置一个输入参数。将订单Action的迭代次数设置为所有行运行。
  5. 在订单Action中利用GetRoproperty方法获取生成的订单号,将该订单号作为调用“修改订单”Action的输入参数。
  6. 运行并观察结果。

首先新建测试并改名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

 导出运行脚本的report和运行结果

report——>所在位置是你测试的保存位置,如图

 点击进去一个测试,会看到很多文件夹,只需要找到我们最新运行结果里出现的那个数字就行

 

 运行结果查看(在开始运行之前配置,配置一次,以后就不用配了)——>

 查看导出的结果就可以直接从你保存的文件位置查找

 ------------------------------------------------------------OVER------------------------------------------------------------

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onlywishes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值