UFT参数化的使用

  1. 使用Systemutil.Run打开程序。
  2. 将01_Login/02_New Order/03_Logout三个操作分为3个Action。生成共享对象库关联到这三个Action。
  3. 在01_Login操作模块中,将登录名和密码设置为环境变量参数,环境变量参数采用用户自定义,定义为AgentName和Password,值为自己的学号和mercury。
  4. 在01_Login中使用reporter.reportevent方法报告内置环境变量参数ActionName和ActionIteration的值。
  5. 将02_New Order操作中的Fly From/Fly To/Name/Tickets设置参数化,Fly From/Fly To/Name每个变量设置3个数据值,tickets设置为随机数参数,值为1-10之间。
  6. 为02_New Order操作中的进度条设置同步点,将Order No.作为输出参数到数据表。
  7. 关闭程序。

 首先要求将操作分为三个Action,并且用SystemUtil.Run 打开程序,这个在前面我们已经做过一次了,因为这个要设置同步点,同步点在录制完成后也可以加,为了简单,我就在录制过程中先加入设置同步点的操作。并且将Order No.即每个订单的单号输出。

------------------------------------------------------------------------------------------------------------------

首先先设置SystemUtil.Run

UFT参数化的使用_第1张图片

UFT参数化的使用_第2张图片

 点击Action1右键改名为01_Login

UFT参数化的使用_第3张图片

UFT参数化的使用_第4张图片

 接下来,点击录制,分为三个Action。

UFT参数化的使用_第5张图片

UFT参数化的使用_第6张图片

 然后注意在点击航班选择时间时,默认选择第一个就好了,直接OK就行

UFT参数化的使用_第7张图片

注意下面输入完名字后,我们点击以下ticket,设置一个数,这样就会加入对象库,便于后面进行随机数的设置。

UFT参数化的使用_第8张图片

 下面要注意一个坑,就是分段截断。有分段截断导致这个订单没有成功插入数据库。应该是因为数据库长度有限制,超过55就会报错,是不会出现订单号的,是不是有人和我一样掉在坑中而不知呢。

下面是解决方案:

找到你的安装目录:

1) 打开C:\Program Files (x86)\HP\Unified Functional Testing\samples\flight , 复制app文件夹。 (前提:a.从他人电脑上拷贝, b. 他人的电脑上这个程序没有错误提示
2) 打开自己电脑C:\Program Files (x86)\HP\Unified Functional Testing\samples\flight
3) 把app文件夹删除

为了方便,我这里提供一个APP,需要的话可以下载app下载

UFT参数化的使用_第9张图片
4) 把拷贝app复制到目录下。Copy C:\Program Files (x86)\HP\Unified Functional Testing\samples\flight\app下面的flight32.mdb替换C:\Program Files (x86)\HP\Unified Functional Testing\samples下面的

或者如果可以直接双击打开这个文件,就直接在数据库中删除掉多余的数据

UFT参数化的使用_第10张图片

UFT参数化的使用_第11张图片

UFT参数化的使用_第12张图片

 下面设置同步点,会直接加入对象库中,这样就不用后来在进行补加操作了

UFT参数化的使用_第13张图片

UFT参数化的使用_第14张图片

UFT参数化的使用_第15张图片

UFT参数化的使用_第16张图片

UFT参数化的使用_第17张图片

UFT参数化的使用_第18张图片

UFT参数化的使用_第19张图片

这里要点击新建按钮是因为只有新建的才会产生新订单号,不然内置迭代三次,会以为是更新操作。

 新建第三个Action 03_Logout

UFT参数化的使用_第20张图片

UFT参数化的使用_第21张图片

 结束录制。到这里录制部分完成。

然后我们点击02_New order查看脚本,修改一个地方

UFT参数化的使用_第22张图片


 接下来生成共享对象库

UFT参数化的使用_第23张图片

UFT参数化的使用_第24张图片

UFT参数化的使用_第25张图片

UFT参数化的使用_第26张图片

 02_New Order 和 03_Logout 也是一样的操作,导出共享对象库。

都导出之后,要进行关联。点击对应Action 然后右键进行关联,分别选择对应的导出的对象库就好。

UFT参数化的使用_第27张图片

UFT参数化的使用_第28张图片


 接下来回到01_Login模块

UFT参数化的使用_第29张图片

UFT参数化的使用_第30张图片

UFT参数化的使用_第31张图片

UFT参数化的使用_第32张图片


 然后回到编辑器模式,报告一个内置环境变量参数 ActionName和ActionIteration的值。

如下图在里面加入以下脚本代码。

Reporter.ReportEvent micPass, "Action Name and Iteration", "Action Name: " & Environment("ActionName") & ", Action Iteration: " & Environment("ActionIteration")

 然后在数据中设置参数化,不要在Global中写任何数据,Global有数据就会执行Global的,最后结果会出错。Global中写过了可以把数据的行列都删除了就好。

UFT参数化的使用_第33张图片

 打开02_New Order的关键字视图:

UFT参数化的使用_第34张图片

UFT参数化的使用_第35张图片

UFT参数化的使用_第36张图片

UFT参数化的使用_第37张图片

UFT参数化的使用_第38张图片

UFT参数化的使用_第39张图片


UFT参数化的使用_第40张图片

UFT参数化的使用_第41张图片

UFT参数化的使用_第42张图片

 

或者两个飞机叉掉一个

保存然后运行。

执行结果如图:

UFT参数化的使用_第43张图片

UFT参数化的使用_第44张图片

UFT参数化的使用_第45张图片

你可能感兴趣的:(UFT软件测试)