> 文章列表 > UFT参数化的使用

UFT参数化的使用

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

 点击Action1右键改名为01_Login

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

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

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

 下面要注意一个坑,就是分段截断。有分段截断导致这个订单没有成功插入数据库。应该是因为数据库长度有限制,超过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下载


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下面的

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

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

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

 新建第三个Action 03_Logout

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

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


 接下来生成共享对象库

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

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


 接下来回到01_Login模块


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

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

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

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

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


 

或者两个飞机叉掉一个

保存然后运行。

执行结果如图: