您的位置:首页 > 编程语言 > Qt开发

QTP中Test参数化和Action参数化区别

2015-06-24 15:26 141 查看
Test参数化和Action参数化最主要的区别就是,Test参数化是整个脚本全部执行反复迭代,而Action参数化是局部指定Action脚本执行反复迭代。

DataTable中Sheet表单的分类:

根据Test参数化和Action参数化分为Global Sheet和Action
Sheet。

Global Sheet全局表单:

(1)是针对整个test脚本

(2)如果指定Global Sheet中的数据作为参数化数据,那么将应用到整个test脚本,即整个test脚本执行多次反复迭代

Action Sheet局部表单:

(1)是针对一个Action创建一个Action Sheet,在DataTable中就会增加一个相应的sheet表单

(2)如果指定Action Sheet中的数据最为参数化数据,则只有相应Action执行多次反复迭代

以下以Flight系统新增订单脚本为例说明添加ActionSheet表单和GlobalSheet表单具体步骤。

(一)创建空白Action

创建3个空白Action,分别命名为Login、InsertOrder和Exit。

依此单击菜单项"File"-->"New"-->"Test",详见下图所示,新建Test。



依此单击"Insert"-->"Call to New Action..."菜单项,详见下图所示,



系统弹出"Insert Call to New Action"对话框,在"Name"文本框中输入"Login","Reusable Action"(可复用Action)单选框保持默认勾选状态,"Location"位置区域单选框保持默认点选状态(At the end of the test与前一个action为兄弟关系),单击"OK"按钮,详见下图所示。



系统关闭"Insert Call to New Action"对话框,在Keyword View视图中显示新创建空action,详见下图所示。



删除系统默认创建的Action1。

依此单击"Insert"-->"Call to New Action..."菜单项,详见下图所示,



系统弹出"Insert Call to New Action"对话框,在"Name"文本框中输入"InsertOrder","Reusable Action"(可复用Action)单选框保持默认勾选状态,"Location"位置区域单选框保持默认点选状态(At
the end of the test与前一个action为兄弟关系),单击"OK"按钮,详见下图所示。



系统关闭"Insert Call to New Action"对话框,在Keyword View视图中显示新创建空action,详见下图所示。



依此单击"Insert"-->"Call to New Action..."菜单项,详见下图所示,



系统弹出"Insert Call to New Action"对话框,在"Name"文本框中输入"Exit","Reusable Action"(可复用Action)单选框保持默认勾选状态,"Location"位置区域单选框保持默认点选状态(At the end
of the test与前一个action为兄弟关系),单击"OK"按钮,详见下图所示。



系统关闭"Insert Call to New Action"对话框,在Keyword View视图中显示新创建空action,详见下图所示。



(二)保存命名脚本

保存已创建Login、InsertOrder和ExitAction的空脚本名称为"Flight_InsertOrder_ActionSheetAndGlobalSheet"



(三)录制保存脚本

以自动化方式录制新建订票脚本。

首先设置为自动启动被测系统Flight,详见如下3张图所示。







切换到LoginAction,详见下图所示。



单击录制按钮,详见下图所示,开始录制登录脚本。



然后切换至InsertOrderAction,然后单击"Flight Reservation"界面,继续录制新建订单脚本,详见下图所示。



然后切换至ExitAction,然后单击"Flight Reservation"界面,继续录制退出系统脚本,详见下图所示。



单击停止录制按钮,详见下图所示,单击保存按钮,保存录制脚本。



(四)参数化Action保存脚本

参数化起飞和抵达城市,具体操作步骤如下。

(四-一)先切换到InsertOrderAction中

具体操作详见下图所示。



(四-二)InsertOrderAction参数化起飞城市

在"Keyword View"关键字视图中,单击起飞城市代码后的<#>按钮,详见下图所示,



系统弹出"Value Configuration Options"对话框,详见下图所示,点选"Parameter"单选框,在"Name"文本框中输入起飞城市Action参数名称为"FlyFrom",在"Location in DataTable(在DataTable中的位置)"区域点选"Current action sheet(local)"(设置为Action参数),然后单击"OK"按钮。



系统关闭"Value Configuration Options"对话框,单击"Data Table"选项卡,详见下图所示。



在DataTable-InsertOrder区域添加FlyFrom参数的参数值,详见下图所示。



(四-三)InsertOrderAction参数化抵达城市

在"Keyword View"关键字视图中,单击抵达城市代码后的<#>按钮,详见下图所示,



系统弹出"Value Configuration Options"对话框,详见下图所示,点选"Parameter"单选框,在"Name"文本框中输入起飞城市Action参数名称为"FlyTo",在"Location in DataTable(在DataTable中的位置)"区域点选"Current action sheet(local)"(设置为Action参数),然后单击"OK"按钮。



系统关闭"Value Configuration Options"对话框,在DataTable-InsertOrder区域添加FlyTo参数的参数值,详见下图所示。



(四-四)保存脚本

单击保存按钮保存脚本,详见下图所示。



(五)设置ActionDataTable参数迭代属性

(五-一)先切换到TestFlow中

具体操作详见下图所示。



(五-二)设置InsertOrderAction参数反复迭代次数

在"Keyword View"关键字视图界面,右键单击"InsertOrder"Action脚本所在行,详见下图所示,系统弹出右键菜单项,单击"Action Call Properties..."右键菜单项。



系统弹出"Action Call Properties"对话框,详见下图所示,在"Run"选项卡下,点选"Run on all rows"(即迭代运行所有参数值),系统弹出提示框,提示当一个action运行在反复迭代中时,每次action结束运行迭代的条件一定要和该action开始运行迭代的条件一致,单击提示框中的"OK"按钮,然后单击"Action
Call Properties"对话框中的"确定"按钮。



系统关闭"Action Call Properties"对话框,单击保存按钮保存脚本。

(五-三)手工验证action部分迭代前后条件(状态)是否一致

Flight系统执行新增订单前界面状态(条件)截图如下所示,



Flight系统执行新增订单后界面状态(条件)截图如下所示,



执行新增订单操作前后界面状态(条件)不一致,那么这样是否影响下一次迭代呢?也就是再次执行新增订单操作会否有影响呢?

手工模拟再次在"Date of Flight"文本框中输入日期月日年信息,结果系统禁止输入。也就是说,执行新增订单操作前后界面状态(条件)不一致,并且,执行新增订单操作前后界面状态(条件)不一致,会影响下一次迭代(再次执行新增订单操作会有影响)。

如何做才能让执行新增订单操作前后界面状态(条件)保持一致呢?

在执行新增订单操作后,补录"File"-->"InsertOrder"操作,这样就和执行新增订单操作前界面保持一致了。

具体操作为:

先更改录制运行设置为手动启动被测系统Flight,具体操作详见如下3张图所示。







然后切换到"Expert View"专家视图,详见下图所示,在代码首行行首插入如下代码,单击保存按钮保存脚本。



在"Expert View"专家视图中,然后将光标移动至末行行首,然后再补录"File"-->"InsertOrder"操作,补录结果详见下图所示。(注意:win7操作系统一定要以管理员身份启动Flight被测系统)单击保存按钮保存补录后的脚本。



然后在删除"Expert View"专家视图的首行代码,详见下图所示,删除首行代码后保存脚本。



然后设置为自动启动被测系统Flight,具体操作详见如下3张图所示。







保存脚本,运行脚本,脚本运行结果详见下图所示。



(六)参数化test保存脚本

以Flight系统登录页面登录帐号参数化为例,说明全局参数化(test参数化)具体操作步骤。



在"Keyword View"关键字视图中,切换到"Login"Action下,详见下图所示,



在"Keyword View"关键字视图中,单击登录帐号代码后的<#>按钮,详见下图所示,



系统弹出"Value Configuration Options"对话框,详见下图所示,点选"Parameter"单选框,在"Name"文本框中输入登录帐号全局参数名称为"AgentName",在"Location in DataTable(在DataTable中的位置)"区域点选"Global sheet"(设置为Global参数),然后单击"OK"按钮。



系统关闭"Value Configuration Options"对话框,在Global区域添加AgentName参数的参数值,详见下图所示。



然后单击保存按钮保存添加全局参数的脚本。

(七)设置GlobalDataTable参数迭代属性

依此单击"File"-->"Settings..."菜单项,详见下图所示,



系统弹出"Test Settings"对话框,详见下图所示,单击"Run"节点,在"Data Table iterations'区域,点选"Run on all rows"单选框,然后单击"OK"按钮。



系统关闭"Test Settings"对话框,在"Keyword View"关键字视图,切换至"Test Flow",详见下图所示。



运行全局参数化前,需要确定执行参数化操作后界面状态是否和执行参数化操作前界面状态是否一致,手工运行Flight系统登录操作,手工模拟执行登录帐号首行参数化参数值操作后,然后反复迭代4次新增订单操作,然后退出系统,因为录制运行设置的是自动启动系统,QTP无法实现自动启动系统设置的反复迭代,因此需要将录制运行设置该为手工启动系统,同时,在"Expert View"专家视图中,在首行行首添加启动Flight系统代码,以实现执行Global参数化后状态与执行Global参数化前状态一致,都是启动被测Flight系统状态。保存脚本。

(八)运行脚本查看运行结果



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: