QTP的Test参数以及顶级Action参数的使用
QTP培训(1)
2.使用环境变量参数 描述 使您可以使用环境变量。 您可以使用 Environment 对象设臵或检索环境变量的 值。您可以检索任何环境变量的值。但只能设臵用 户定义的环境变量的值。 语法 设臵用户定义的环境变量的值: Environment (VariableName) = NewValue 检索已加载的环境变量的值: CurrValue = Environment (VariableName)
常用检查点
检查点类型 标准检查点 图像检查点 表检查点 页面检查点 描述 检查对象的属性值。 检查图像的属性值。 检查表中的信息。 检查网页的特性。 用法示例 检查是否选中某单选按钮。 检查图像源文件是否正确。 检查表单元格中的值是否 正确。 检查加载网页所需的时间, 或者检查网页是否包含中 断链接。 检查预期的文本字符串是 否显示在网页或对话框上 的预期位臵。 检查网页或网页的任何部 分是否能按预期显示。
If...Then...Else 语句
If condition Then [statements] [ElseIf condition-n Then [elseifstatements]] . . . [Else [elsestatements]] End If
参数 condition 一个或多个下面两种类型的表达式: 数值或字符串表达式,其运算结果是 True 或 False 。 Statements 如果 condition 为 True 时,执行的一条 或多条(以冒号分开)语句。 condition-n 同 condition。 elseifstatements 如果相关的 condition-n 为 True时, 执行的一条或多条语句。 elsestatements 如果前面没有 condition 或 condition-n 表达式为 True 时,执行的一条或多条 语句。
QTP的Test参数以及顶级Action参数的使用
QTP的Test参数以及顶级Action参数的使用QTP, Action, Test, 参数QTP, Action, Test, 参数网上有些关于如何使用Action参数的文章,不过关于QTP的Test参数和Top-Level Action参数的使用例子几乎没有。
有些人甚至不知道这个参数做什么用的,尤其是Test的output不知道怎么取。
其实它是外部对象传给它的(这个外部对象可以是Quality Center,也可以是vbs这样的驱动程序)。
以下给大家讲解一个关于QuickTest的Flight的例子。
首先,在QTP里录制一段脚本,代码如下:1.SystemUtil.Run "C:\Program Files\Mercury\QuickTestProfessional\samples\flight\app\flight4a.exe","","C:\Program Files\Mercury\QuickTestProfessional\samples\flight\app\","open"2.Dialog("Login").WinEdit("Agent Name:").Set Parameter("InAction1")3.wait 54.Dialog("Login").WinEdit("Agent Name:").Type micTab5.Dialog("Login").WinEdit("Password:").SetSecure"4649c633ffc8803c10097292953c6334fde3e923"6.Dialog("Login").WinEdit("Password:").Type micReturn7.Window("Flight Reservation").Close8.Parameter("OutAction1") = True复制代码然后,鼠标选中Keyword View中的Action1,点右键---Action Property,在Parameters的Tab标签下,分别加入:输入参数 InAction1 ,类型String;输出参数 OutAction1,类型 Boolean。
qtp的记录之action篇
2:把变量放入data table
3: 自定义环境变量(Test>Settings>Environment)
ACTION的三种类型
1:非重用型:只能在被存储它的TEST中调用而且只能被调用一次。
2:重用型:可以被多次在被存储它的TEST或别的TEST中调用,
RunAction "login", oneIteration,"mercury","mercury"
可以通过类似这样的写法,把参数传到一个action中去,当然要在step--action pro...那里去设input参数 .
我是想通过外部程序调用该test的,在调用的的过程中送入一个参数,所以在Test Settings的Parameters页中设置了一个Input parameter,名为"TCPath",调用程序如下:
Set qtApp1 = CreateObject("QuickTest.Application")
Window("Program Manager").WinObject("FolderView").Drop 215,285
QTP拆分操作
下列情况不有拆分:
1:选定外部操作时
2:选定操作的第一个步骤时
3:录制测试时
4:运行测试时
5:使用只读测试时
Runaction中的oneIteration如遇被调用Action datatable行数小于当前Action的Global datatable的行数时
DELETE一个插入的可重复ACTION如果DELETE第一项:只是删除此ACTION的调用语句。此ACTION还存在语句。
QTP进阶-action传参专题
送您一句话每天早上,一只非洲羚羊醒来, 它就知道必须比跑得最快的非洲狮子还要快, 否则它就会被吃掉; 每天早上,一只非洲狮子醒来,它就知道必须比跑得最慢的非洲羚羊还要快, 否则它就会饿死; 所以不管你是狮子还是羚羊, 当太阳升起的时候,你就得开始<a name=baidusnap0></a>奔跑</B>了! Action 传递参数 Action传递参数的三个方法(变量访问和共享)通过DataTable共享 DataTable对于每个Action都是可见的通过环境变量共享环境变量也是Test工程的共享变量通过Action Parameters的参数传递对Action的属性设置和对调用的属性设置来进行参数传递,只有有调用关系才能共享。
调用带有参数的操作带有参数的操作调用使用以下语法:? ??RunAction ActionName,IterationQuantity,Parameters 输入参数在输出参数之前输入参数固定值已定义参数(数据表参数、环境参数或调用操作的操作输入参数)输出参数变量已定义参数(数据表参数、环境参数或调用操作的操作输出参数)Action Parameters的参数传递例如, Action1 调用 Action2,且 Action2 有一个已定义的输入参数和一个已定义的输出参数。
RunAction “Action2”, oneIteration, “MyValue”, MyVariable 为输入参数提供“ MyValue”的字符串值,并将输出参数生成的值存储在名为 MyVariable 的变量中。
RunAction "Action2", oneIteration, Parameter name , DataTable "out", dtLocalSheet 使用为Action1 的 name 输入操作参数定义的值作为该输入参数的值,并将输出参数生成的值存储在 Action1 的数据表工作表中名为 out 的一列中。
QTP使用手册完整版
QTP使用手册完整版【QTP使用手册完整版】本文档旨在为用户提供全面的QTP(Quick Test Professional)使用手册。
QTP是一款功能强大的自动化测试工具,广泛应用于软件测试和质量保证领域。
通过本手册,用户将能够全面了解QTP的各项功能和操作方法,从而提高测试效率和质量。
本文档包含以下章节:1.简介1.1 QTP简介1.2 QTP的优势和适用场景1.3 QTP的安装和配置2.初次使用QTP2.1 QTP的界面介绍2.2 创建新测试2.3 添加测试对象2.4 插入和编辑测试步骤2.5 运行和调试测试2.6 查看测试结果3.对象识别和操作3.1 手动对象识别3.2 对象仓库管理3.3 对象属性和方法3.4 对象操作示例4.数据驱动测试4.1 数据表和数据驱动测试概述 4.2 导入和管理测试数据4.3 在测试中使用数据5.关键字驱动和模块化测试5.1 关键字驱动测试概述5.2 创建关键字驱动测试5.3 模块化测试概述5.4 创建模块化测试6.参数化和验证6.1 参数化测试数据6.2 使用数据表参数化6.3 验证测试结果7.数据库和文件操作7.1 数据库操作7.2 文件操作8.编写自定义函数和库文件8.1 创建自定义函数8.2 创建库文件8.3 调用自定义函数和库文件9.错误处理和异常处理9.1 异常处理概述9.2 利用异常处理机制处理错误10.脚本调试和性能优化10.1 脚本调试概述10.2 断点设置和调试技巧10.3 性能优化技巧11.执行测试套件和批量运行11.1 创建测试套件11.2 执行测试套件11.3 批量运行测试12.与测试管理工具集成12.1 ALM(Application Lifecycle Management)集成12.2 JIRA集成【附件】本文档附件包括以下内容:- 示例代码和脚本:包含QTP使用的示例代码和脚本,供读者参考和练习。
- 视频教程:提供QTP的视频教程,演示各种功能和操作方法。
软件测试技术第10章QTP测试工具使用教程
软件测试技术第10章QTP测试工具使用教程QTP(QuickTest Professional)是一款功能强大的自动化测试工具,可用于测试Web、桌面和移动应用程序。
本章将介绍使用QTP进行测试的基本步骤和常用技术。
1.安装和配置QTP首先,您需要从Micro Focus官方网站或其他途径获取并安装QTP。
安装完成后,您需要配置QTP以使其能够与被测试的应用程序进行通信。
根据被测试应用的类型,您可以选择配置浏览器或桌面应用程序的相关设置。
2.创建测试对象库QTP使用测试对象库来识别和操作被测试应用程序中的各种对象。
在使用QTP之前,您需要创建一个对象库,并将被测试应用程序中的对象添加到对象库中。
您可以通过录制测试操作或手动添加对象来创建对象库。
3.创建测试用例一旦完成对象库的创建,您可以开始编写测试用例。
测试用例是一系列测试步骤的有组织的集合,用于验证被测试应用程序的各个方面。
在QTP中,您可以使用关键字驱动或数据驱动的方式创建测试用例。
4.执行测试用例执行测试用例是将被测试应用程序与QTP连接起来并运行测试用例中指定的测试步骤。
您可以选择一次执行整个测试套件,也可以选择逐个执行单个测试用例。
5.结果分析和报告生成一旦测试用例执行完成,QTP将生成测试结果报告。
您可以使用报告来分析测试结果,并确定测试覆盖率和应用程序的稳定性。
您还可以使用报告来跟踪和解决应用程序中的缺陷。
除了上述基本步骤,QTP还提供了许多其他高级功能和技术,以帮助测试人员更好地进行测试,提高测试效率和质量。
1.数据驱动测试:利用数据驱动技术,QTP可以自动读取测试数据并将其应用于多个测试用例,从而提高测试的灵活性和可维护性。
2.关键字驱动测试:关键字驱动测试是一种将测试步骤和关键字进行组合的测试方法。
QTP提供了内置的关键字库和关键字驱动功能,使测试人员可以快速创建和维护测试用例。
3.数据库集成:QTP支持与各种数据库进行集成,可以在测试过程中直接访问和操作数据库。
QTP的基本功能介绍
QTP的 基 本 功 能 介 绍
• QTP的基本功能介绍 HP QuickTest Professional 支持功能測试和回归測试自己主动化,用于每一个主要软件应用程序和环境。此解决方式使用keyword驱动的測 试概念,简化了測试创建和维护过程。它使測试人员可以使用专业的捕获技术直接从应用程序屏幕中捕获流程来构建測试案例。測试专家还 可通过集成的脚本和调试环境全然訪问内在測试和对象属性 • QTP框架结构 以Test为測试执行单位,每一个Test包括若干类型Action。以Action为最 小单位映射对象库,多个Action之间能够共享统一 对象库,Action内的Step能够包括用户录制操作或者 函数库内对Function的调用。 QTP自己主动化測试的基本过程 • 录制測试脚本 • 编辑測试脚本 • 调试測试脚本 • 执行測试脚本 • 分析測试结果 录制測试脚本 1.插件载入设置管理 启动QTP,将显示下图所看到的插件管理界面 依据所測试应用程序控件类型选择须要载入的插件,比如,QTP自带的例子应用程序“Flight”是标准的windows程序,里面的部分控件是 ActiveX控件,因此,在測试时选择载入ActiveX控件 2.录制和測试执行设置 选择了要载入的插件后,点击OKbutton,进入QTP的主界面,例如以下图所看到的,包含測试视图(keyword视图和专家试图),Data Table/Information界面、Active Screen界面。 选择菜单“Automation|Record and Run Settings”出现录制和执行设置界面 指定须要录制的应用程序,录制执行设置界面例如以下图,在选择windows应用程序的录制和执行界面中,能够选择两种录制方式,一种 是”Record and run test on any open Windows-bassed”,这样的方式能够录制不论什么在系统中出现的程序;第二种是 ”Record and run only on” 这样的方式录制有针对的应用程序,避免录一些无关紧要的多余的界面,该种方式有3种设置的使用方法。 (1).选择“Application opened by QuickTest”选项,则仅录制和执行由QTP调用的程序 (2).选择“Application opened via the deskpot”选项,则仅录制開始菜单,桌面快捷方式启动的程序 (3).选择“Application specified below”则可录制和执行加入�到列表中的应用程序。单击 button,加入�要录制程序的可执行文件的路径。 比如,我们要录制“Flight”例子程序,我们就选择例子程序路径“C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe” 3.录制第一个自己主动化測试脚本 设置成仅录制”Flight“程序后,选择菜单”Automation|Record“,或工具栏上的 或按快捷键F3,QTP将自己主动启动指定文件夹 下的”Flight“程序,例如以下图,输入 username和password“MERCURY”,点击OK button,录制“Flight”程序的t中存在对应的记录,有些检查点须要在录制状态下才可以使用。 也可通过在測试步骤上单击鼠标右键选择菜单”Insert Standard Checkpoint“ 比如我们检查OKbutton的属性,插入一个标准检查点。 首先,定位到ok提交的步骤,单击右键, 选择菜单” Insert Standard Checkpoint“,出现如右图界面。 在界面中选择须要检查的属性,比如,选择 “Enableed”属性,设置为ture,选择“Text” 属性,设置“OK”。
QPT功能及使用介绍
– Tests perform precisely the same operations each time they are run, thereby eliminating human error.
Repeatable
– You can program sophisticated tests that bring out hidden information.
16
standard checkpoint
添加检查点可以在录制过程中添加,也可 以录制后再添加
在Active Screen 上右键点击要设置 CheckPoint的对象,选择“Insert standard checkpoint”
选择要设置的CheckPoint type,点击确定按 钮
17
18
21
什么情况适合使用QTP
模块经过手动测试后比较稳定 模块/功能点重用性比较高 预先安排一定的时间录制和维护脚本
22
The End
23
具,现已被HP收购,最新版本9.2 QTP与WinRunner都是功能测试工具,其
差别是QTP更适合做Web应用(B/S)方面 的测试,而WinRunner更适合客户端应用 (C/S)方面的测试 其他功能测试工具如 IBM的Robot
3
使用QTP有哪些好处
Fast
– QuickTest runs tests significantly faster than human users.
5
QTP Windows 界面一览
Test Pane
Data table
Active Screen 6
初学QTP要掌握哪些功能
Record Run and analyzing Creating checkpoints Parameterizing Creating Output Values Using Regular Expressions Dividing Tests into Multiple Actions
QTP自动化测试工具-笔记
选择需要拷贝的Action 描述该Action 单选钮--设置所拷贝Action与之前Action的关系
At the end of test--顺序(兄弟) After the current step--层次(父子) 拷贝已经存在的Action: 1、可以拷贝可复用、不可复用的Action 2、拷贝过来的Action可以进行修改
选择需要检查的属性(光标选中此属性) 设置预期值(Constant) 设置超时时间timeout 2、Active Screen a.正确选取当前步骤 b.在Active Screen界面--选择需要添加检查点的对象(右键) c.Insert Standard Checkpoint d.确认添加检查点对象的名称、类型 选择需要检查的属性(光标选中此属性) 设置预期值(Constant) 设置超时时间timeout 选择当前步骤之前 or 当前步骤之后
如果需要调整Action的执行顺序: a.切换到关键字视图--在左侧的下拉框切换到Test Flow b.用鼠标拖拽Action--调整其执行顺序
Action的种类: 1、可复用的Action(Reusable Action) 2、不可复用Action(non-Reusable Action) (3、外部的Action--External Action)
注意: 1、导入之后,QTP的表单名称不变 2、导入过程发生在脚本运行中,脚本运行结束,导入进来的数据消失
PPT6 recording 一、环境变量Environment 1、设置位置:File--Settings--Environment
QTP之Action间传参
QTP之Action间传参Action间传递参数的三个方法(变量访问和共享)通过DataTable共享DataTable对于每个Action都是可见的通过环境变量共享环境变量也是Test工程的共享变量通过Action Parameters(参数化)的参数传递对Action的属性设置和对调用的属性设置来进行参数传递,只有有调用关系才能共享。
注意:Public声明的变量并不能让Action间共享调用带有参数的操作:如果所调用的操作已定义了输入和/或输出参数,还可以提供输入参数的值以及输出参数的存储位置,作为RunAction语句的参数。
输入参数在输出参数之前。
对于输入参数,可以指定一个固定值,也可以指定另一个已定义的参数(数据表参数、环境参数、或调用操作的操作输入参数)的名称。
输入参数将采用该已定义参数的值。
对于输出参数,可以指定一个用于存储值的变量,或者是一个已定义参数的名称。
带有参数的调用使用以下语句:RunAtion ActionName,IterationQuantity,Parameters例如,从Action1调用Action2,并且Action2有一个已定义的输入参数和一个已定义的输出参数。
RunAtion “Action2”,oneIteration,”MyValue”,MyVariable为输入参数提供MyValue的字符串值,并将输出参数生成的值存在名为MyVariable的变量中。
RunAtion “Action2”,oneIteration,Parameter(input)DataTable(“out”,dtLocalSheet)使用为Action1的input输入操作参数定义的值作为该输入参数的值,并将输出参数生成的值存储在Action1的数据表中名为out的一列中。
IterationQuantity(迭代次数):oneIteration 只运行一次allIteration 运行参数表的每一行“1-4”只运行参数表的1-4行Action Parameters的参数传递'RunAction "login", oneIteration,"merc","merc“Dialog("Login").WinEdit("Agent Name:").Set Parameter("user")msgbox Parameter("user")Dialog("Login").WinEdit("Password:").SetSecure Parameter("pass")msgbox Parameter("pass")Dialog("Login").WinButton("OK").ClickDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinEdit("Agent Name:").Set "“Action间传参实例:业务流程:登录系统——新建订单——生成订单编号——通过传递订单编号查询订单用到QTP的知识:QTP中Action split(拆分);Action中参数传递Action split(拆分)Nested为要按照嵌套模式划分,首先要划分一个main Action,这个main Action中去调用其他嵌套的action(如:log_in,new_order,insert_order,open_order,log_out.),所以第一次划分的时候选择的是Nested. 注意一定是在Expert视图中划分,键鼠标光标放在第一行代码的前面。
最新QTP精品课件第03讲、脚本参数化和多Action脚本
• 11、运行脚本并观察结果
小结
• 录制一组测试用例数据,参数化多组数据,运行时使用参 数化数据对软件进行测试,提高测试效率 • 从运行过程和运行结果不易判断程序是否正确——需要进 一步处理 – 设置检查点(检查点也需参数化) – 建立输出值
检查点参数化
• 实例2:为实例1中的结果建立检查点,检查每次反复的结 果是否正确 – 准备工作
• 3、弹出“Value Configuration Options”对话框
– constant
• 把第一个数文本框设置成常量值
– parameter
• 对第一个数文本框进行参数化 • 取值:
– Data Table:使用Data Table中的数据进行参数化 – Environment:使用系统环境变量进行参数化 – Random Number:使用任意数据进行参数化
• 4、找到“text”属性,点击“Modify”按钮
• 5、弹出“Output Options”对话框 – Output Types:输出值类型
• Data Table:输出到Data Table表格 • Environment:输出到环境变量
– Name
• 输出值在Data Table中的列名
自动化工具
第03讲、脚本参数化和多 Action脚本
本章内容
• • • • 脚本参数化 输出值 在脚本中使用多Action 多Action脚本的参数化
一、脚本参数化
脚本参数化的概念
• 参数化就是一张包含多组数据的参数表,使之替换录制的脚 本中的相应常量值,这样,在脚本运行的时候,就会使用参数 表中的数据来代替录制的常量值 • 由于参数表中包含了多组数据,所以执行测试时,会多次自 动运行脚本,每次使用不同组的数据来代替脚本,这个运行次 数就是参数表中的记录数,而在Mercury的测试工具中,每执 行一次测试,称为一个反复(Iteration)。
QTP action参数传递的方法
第一种:Parameter 在同级action中传递参数1、分割好action之后右击insert选中Action Properties,出现图1添加输出参数(可随意起参数名称例如:ord)图12、在Order No控件上右击选择Insert output value,勾选text属性,点击Modify,Output type选择Test/action parameter,然后选中在之前在insert里添加的输出参数ord图2Order NO 对应文本框,如果没有此对象,要添加到对象库,图33、在update上右击Action Properties,如图4添加input parameters,例如inord图4再次右击update这次选择Action call properties,如图5弹出框选中的红色Value的部分本来是没有值的,要点击value旁边的按钮,在value Configuration Options 里选中parameter,下拉框选择Test/action parameter,在Output from previous action calls 下选择要与之对应的insert下的输出参数ord,带此刻才知道update中的输入参数inord 的值是insert中的输出参数ord图54、Edit是所要查找的订单号文本框,所以要接收insert里的订单号,之前insert中的输出参数已经和产生的订单号关联,update中的输入参数也已经和insert的输出参数ord关联,那么现在要关联Edit文本框的value值和update的输入值图6如图7所示点击Edit的Value旁边的按钮弹出框Value Configuration Options 选中Parameter然后选择Test/action parameter,选择要关联的参数名称inord。
这样就完成了同级action参数的传递图7第一种、Environment环境变量传递参数Environment适应于整个脚本,燃和一个action都可以调用1、如图1在Order No控件上右击选择Insert output value,勾选text 属性,点击Modify,Output type选择Environment,Name随便起例如Order_No图12、Edit是所要查找的订单号文本框,即要接收传递参数的地方。
QuickTest Professional(QTP)多Action操作
RunAction "new order", oneIteration,order RunAction "open order", oneIteration,order 再靠main action中这个order变量来传递, 这个变量正好对应着new order里的output 参数.从new order中传出来,再把这个变 量传给open order.当然在open order中还 要同样设置input参数.和这个order变量对 应起来.
二、action之间参数传递
在login action中选择菜单选项,在action properties中设置两input参数分别先后为 username 和 password 这样我们就通过RunAction "login", oneIteration,"mercury","mercury" 把这 两个变量分别传给username 和password. 这边的变量先后关系分别依次对应了action properties里input参数的先后关系.
Login参数化
在Login中定义Input参数: userName,userPwd,并对输入的用户名和 密码进行参数化
QTP中action之间的参数传递应用实例详解
QTP中action之间的参数传递应用实例详解发布时间: 2009-5-04 13:29 作者: Cheers . Lee 来源: 51Testing博客这个问题本来不想写,个人认为:QTP中action之间的参数传递,应该是比较容易的事情.但是今天用的时候,突然没有设置成功,哎! 忘得真是个快啊!所以有感而发,相信这篇文章对很多人都会有用,我自己也拿来备忘.好了,废话少说,直接切入正题.还是用QTP自带的flight4a.exe为例.本例的业务流程:首先登陆系统,然后新建一订单,然后产生订单编号,最后,通过传递这个定的那编号,去查询这条订单.用到QTP的知识:QTP中Action split(拆分);Action中参数传递.首先我们录制完成的一个流程:(1)输入用户名和密码,登录系统;(2)输入订单日期,起始地点,选择航班.(3)输入订购人名称以及数量,选择类别,点击insert产生订单.系统会自动生成订单编号.(4),通过传递这个定的那编号,去查询这条订单.(5)然后退出系统.按照流程录制玩脚本,对这个脚本进行拆分,在Edit-Action-Split Action 中,如图:注意:Nested为我们要按照嵌套模式划分,因为我们首先要划分一个main Action,这个main Action中去调用其他嵌套的action(如:log_in,new_order,insert_order,open_order,log_out.),所以第一次划分的时候选择的是Nested.在划分时,记住一定是在Expert视图中划分,键鼠标光标放在第一行代码的前面,然后在Edit-Action-Split Action,就出现如上图的界面.接下,用上边同样的方法,划分其他Action,这是要选择:Independent of each other.即,划分几个独立的Action.每次能将一个Action划分成2个,重复操作,直到划分完成.注意:每次在如图:上.界面中,1st action 的Name是上一次划分时的2nd action的Name.我们需要将这个业务流程拆分成一个main Action 和4个Action分别是:log_in,new_order,insert_order,open_order,log_out.划分完成后,在main action 中产生的脚本如下:其他脚本为:脚本划分完成后,下来,我们要做的就是action之间的值传递.这里注意的是,我们的值是从insert_order action中的WinEdit("OderNo:")的值传给Open_order action 中的OrderNo:如图:action 间值传递的步骤:1.在Key_Word视图中,在insert_order上右键,选择Action Properties-Parameter,在Output Paramters 中增加一变量orderno.如图:完成后,点击确定,保存此设置.2. 在insert_order action中Key_Word视图中,选择WinEdit("OderNo:")(如果没有该对象,需要在对象库中添加该对象),右键,在菜单中选择"Insert OutPut Value...",打开OutPut value Properties 窗口.如图:在text前的复选框打钩(选中),并点击Modify 按钮.出现如图窗口:在Output types:中选择Test/action parameter,zai Parameter选择oderno(这就是刚才Output中添加的变量),然后,点击"OK","OK"保存.3.在Key_Word视图中,在open_order上右键,选择Action Properties-Parameter,在Intput Paramters中增加一变量orderno.如图:4.在open_order的Expert View中需要将Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set"57"改为:Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set Parameter("orderno")5.将main action脚本改成:保存脚本.完整的脚本,如main,log_in,new_order,insert_order,open_order,log_out所示(已修改好的).运行脚本,发现orderno这个值已经在运行时从insert_order action传递到open_order action中.至此,操作结束.。
QTP中Action 参数调用方法
QTP 中Action参数传递的方法在自动化测试的脚本中,可能因为业务的需要创建多个Action进行不同业务流程的分离,参数传递必须要有一个中间媒介担任数据中转的工作,QTP中常用的几个方法进行参数的传递。
ParameterEnvironmentData Table1:通过Parameter函数进行参数传递Parameter函数格式如下:Parameter(ParamName)例如:飞机订票系统。
当订票完成后,输入票号,可以查到该票号的信息。
这里涉及到参数的传递。
1.首先我们登陆飞机订票系统,然后新建订单,打开订单,关闭订单。
拆分Action,选择菜单功能split Action。
设置一个主要的Acton 为main,分别调用登陆(login),新建订单(booking),打开订单(open),关闭订单(close)。
如图:2.在main Action中调用Action:Dim orderRunAction "login", oneIterationRunAction "booking", oneIteration,orderRunAction "open", oneIteration,orderRunAction "close", oneIteration其中RunAction是调用action的函数,后面是调用的action的名称,和相关的参数。
order变量对应着booking里的output参数.从booking中传出来,再把这个变量传给open 的order.在open中还要同样设置input参数.和这个order变量对应。
3.在booking action中选择菜单选项,在action properties中设置一个output 参数为orderno.然后在”Order No”插入outputvalue.代码如下:Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:").4.在open action的 Action properties 里面设置一个inputparameter 参数,名为orderno.然后改相关的代码如下:Window("Flight Reservation").Dialog("OpenOrder").WinEdit("Edit").Set Parameter("orderno").这样可以使用booking传过来的参数了。
QTP使用手册
文件编号:SMSI-DEVC-WORKROUTE-2010304保密级别:□公司级■部门级□项目级□普通级采纳标准:CMMIQTP使用手册V1.0.0作者:潘伟Fujian Sinomyth System Integration CO.,LTD鑫信迈(福州)系统集成有限公司版权所有1、QTP介绍了解一下QuickTest的主界面:在QTP界面包含标题栏、菜单栏、文件工具条等几个界面元素,下面简单解释各界面元素的功能:●标题栏,显示了当前打开的测试脚本的名称。
●菜单栏,包含了QuickTest的所有菜单命令项。
●文件工具条,在工具条上包含了以下几个按钮:●测试工具条,包含了在创建、管理测试脚本是要使用的按钮,如下图:●调试工具条,包含在调试测试脚本时要使用的工具条,如下图:●测试脚本管理窗口,提供了两个可切换的窗口,分别通过图形化方式和VBScript脚本方式来管理测试脚本。
●Data Table窗口,用于参数化你的测试。
●状态栏,显示测试过程中的状态。
2、录制/执行测试脚本录制运行设置(一)1. 录制前IE设置* 确保你的IE运行正常依次点击菜单查看——> 工具栏,一定要将上网助手等插件卸载掉,如一些拦截广告的软件* 修改浏览器的设定,不让浏览器帮你自动输入帐号和密码,确保所有操作都会录制下来。
取消[自动完成]的设定(1). 开启IE浏览器,点选[工具]-〉[Internet选项]-〉[内容](2). 点选个人信息中的[自动完成],进入自动完成设置。
(3). 取消[表单上的用户名和密码]选项(4). 点选确定,关闭对话框如下图:●选择“Tutorial”将打开 QTP 的帮助文档●选择“Start Recording”进入测试录制功能●选择“Open Existing”将打开现有的测试项目文件●选择“Blank Test”将创建一个空的测试项目Ps:把“show this screen on startup”设置为不勾选,则下次启动 QTP 时不显示该界面,而是创建一个空的测试项目。
QTP参数调用
一: Action的参数调用11、设置参数Action Properters >> Action Parameter增加input的参数和output的参数2、Action 1 的脚本:parameter("output")="Action1 Output"msgbox("Action1 Input:"¶meter("input"))msgbox("Action1 Output:"¶meter("output"))3、Action 2 的脚本:RunAction "Action1", oneIteration,"Action2 Input",action2//设置"Action2 Input",存储输出参数的值为变量:action2msgbox("Output in Action2:"&action2)我们不难发现在QTP的Action之间关系作为被调用Action1,都是使用parameter("参数名")来使用的。
作为调用Action1的Action2而言,input参数是可以往被调用Action1的操作输入的参数。
Output的参数是从被调用的Action1返回的值。
Browser("办公自动化系统").Page("办公自动化系统").Frame("mainFrame").WebElement("innertext:="&action2).Click二、Action的参数调用2也可以通过Global的DataTable设置参数,比如action1 里面DataTable.value("colname","Global")="参数"在action2里面可以直接用dim colnamecolname=DataTable.value("colname","Global")先设置Action的参数定义:Action->Property->Parameters,添加input,output参数并定义相应内容如:输入参数名:par1 类型为:string 默认值为:default输出参数名:out2,类型为string接着在Action主体内容引用:par1 = Parameter("par1") //使用传入参数Parameter("out2") = "outstring" //设置传出参数最后调用Action并实现传参:RunAction "Action", oneIteration, "testpar" //传入有非空的参数值,不获取传出值RunAction "Action", oneIteration, ,out //传入值为空,在Action中将使用定义时的默认值MsgBox out //输出传出参数的值另外:RunAction 后面参数使用方法为:RunAction ActionName[, Iterater [,inputpar1][,inputpar2...][,outValue1][,outValue2....]]通过Action参数来传递数据Action2的脚本如下:' Input ParametersMessage = Parameter("Msg")Msgbox Message' Output ParametersIf NOT Message = "" ThenParameter("ReturnMsg") = "The Message is " & MessageElseParameter("ReturnMsg") = "The Message is Empty!"End If' RetuenValueExitAction "HAHAHAHHAHA!!!!!"'ExitAction Parameter("ReturnMsg")3种调用Action的方法,Action1的脚本如下:' 调用Action2,输入参数为“ Hello!”,把输出参数值写到ReturnMessage1变量RunAction "Action2", oneIteration,"Hello!" ,ReturnMessage1Msgbox ReturnMessage1' 调用Action2,输入参数为“ Hello!”,通过Parameter方法读取输出参数值RunAction "Action2", oneIteration,"Hello!"ReturnMessage2= Parameter("Action2","ReturnMsg")Msgbox ReturnMessage2' 如果被调用的Action使用了ExitAction来退出Action并返回ReturnValue,则可以使用下面的方式来获取Return Value的值' 注意OutPut Parameters与Return Value的区别ReturnMessage3 = RunAction( "Action2", oneIteration ,"Hello!") Msgbox ReturnMessage3通过全局数据表(Global Data Table)来共享数据在Action1中设置参数值,Action1的脚本如下:' 获取全局数据表Set Sheet = DataTable.GetSheet("Global")' 查找参数列Set Parameter1 = Sheet.GetParameter("Column1")Set Parameter2 = Sheet.GetParameter("Column2")' 设置参数值Parameter1.Value="Hello"Parameter2.Value="World!"' 调用Action2,Action2将使用前面设置的参数值RunAction "Action2", oneIteration在Action2中读取参数值,Action2的脚本如下:' 获取全局数据表Set Sheet = DataTable.GetSheet("Global")' 读取参数值Set Parameter1 = Sheet.GetParameter("Column1")Set Parameter2 = Sheet.GetParameter("Column2")' 使用参数值Msgbox Parameter1 &" " & Parameter2----------------------------------------------------------------------Action调用与Action0打开QTP脚本目录,我们可以看到有一个Action0目录,这个并不是我们自己写的,它是干什么用的呢?打开这个Action0目录,用文本编辑器打开scrīpt.mts可以看到一条或多条RunAction或Call RunAction对比我们在QTP中用Keyword View查看的Action就可以看出这个结构是与之对应的,显然是与Action调用有关,记录了调用Action的顺序以及循环情况下面我们就来分析一下QTP中Action的调用:首先是Action的存在与被调用的关系Action的存在和调用之间没有相关性:存在,但是可以没有调用Action调用有两种情况,一种是脚本调用,一种是Action调用第一种就是通过这个看不见的Action0组织脚本直接运行的Action调用第二种就是在我们看到的Action中来调用Action其次,我们怎么看到Action的存在和调用要看到Action存在很容易,到Expert View,下拉框里选一下就可以看到存在的Action的内容我们在Keyword View中两种调用都可以看到但在Expert View中只可以看到第二种调用再次是调用怎么修改第二种调用可以在Expert View中添加一句RunAction ActionName来添加但第一种调用就没法直接添加了,因为Action0是直接看不到的可以直接改Action0的脚本内容还有就是可以在Expert View中添加一句RunAction ActionName做成第二种调用,再切到Keyword View,然后用拖动节点的方法变成第一种调用另外就是用Call to Existing Action但是只能call可复用的action,也就是要在准备调用的Action的Action Properties中勾选Reusable action最后还要再说一下外部的调用QTP脚本调用其它脚本的Action,只要把被调用的Action设为可复用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QTP的Test参数以及顶级Action参数的使用
发布: 2007-5-30 15:29 | 作者: 网络转载 | 来源: 网络 | 查看: 64次
网上有些关于如何使用Action参数的文章,不过关于QTP的Test参数和Top-Level Action参数的使用例子几乎没有。
有些人甚至不知道这个参数做什么用的,尤其是Test的output不知道怎么取。
其实它是外部对象传给它的(这个外部对象可以是Quality Center,也可以是vbs
这样的驱动程序)。
以下给大家讲解一个关于QuickTest的Flight的例子。
首先,在QTP里录制一段脚本,代码如下:
CODE:
然后,鼠标选中Keyword View中的Action1,点右键---Action Property,在Parameters 的Tab标签下,分别加入:输入参数 InAction1 ,类型String;输出参数 OutAction1,类型 Boolean。
如下图。
再然后,在QTP的菜单File--->>Settings的Parameters的Tab标签下,分别加入:输入参数 InParam1 ,类型String;输出参数 OutParam1,类型 Boolean。
如下图。
接着,鼠标还是选中Keyword View中的Action1,点右键,这次点“Action Call Properties”,在Parameter Values里进行参数化传递设置,把InParam1的值传递给InAction1,把OutAction1的值传递给OutParam1。
如下图。
以上设置完毕后,点“保存”,保存到C:\下,存为Test1好了。
最后,在你的硬盘上新建一个vbs文件,文件内容如下:
做完这步之后,保存这个vbs文件,双击执行这个vbs文件,你会发现它自动启动了QTP,而且进行了自动测试,最后还取到了运行成功与否的布尔值。
这就是关于Test、
Top-Level Action参数使用的例子,它的参数的整个传递过程是:外部vbs文件传参数给QuickTest的Test的输入参数InParam1,然后InParam1传参数到InAction1去驱动了Action1的测试,然后通过这个Action1得出了OutAction1的值,然后通过OutAction1传给OutParam1,最后再传回到vbs文件中。
示例用MsgBox来打出重新传回到vbs文件中的字符串。
TAG:测试自动化 qtp。