- 使用Systemutil.Run打开程序。
- 将01_Login/02_New Order/03_Logout三个操作分为3个Action。生成共享对象库关联到这三个Action。
- 在01_Login操作模块中,将登录名和密码设置为环境变量参数,环境变量参数采用用户自定义,定义为AgentName和Password,值为自己的学号和mercury。
- 在01_Login中使用reporter.reportevent方法报告内置环境变量参数ActionName和ActionIteration的值。
- 将02_New Order操作中的Fly From/Fly To/Name/Tickets设置参数化,Fly From/Fly To/Name每个变量设置3个数据值,tickets设置为随机数参数,值为1-10之间。
- 为02_New Order操作中的进度条设置同步点,将Order No.作为输出参数到数据表。
- 关闭程序。
首先要求将操作分为三个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的关键字视图:
或者两个飞机叉掉一个
保存然后运行。
执行结果如图: