QTP插件---数据管理器
来源:互联网 发布:360panorama 类似软件 编辑:程序博客网 时间:2024/06/05 18:00
最近总是想在自动化测试这个领域去做一些事情!数据管理器我最早是采用VBS去完成的!开始的目的只是想将它转化成C#语言!然后做一个可以看的过去的界面操作!但是做着做着,越发敢兴趣起来!所以会把这个插件持续开发下去!
程序下载地址:
http://www.3atesting.com/bbs/thread-4874-1-1.html
关于插件的使用说明和一键安装程序请参考下面信息
安装环境:
安装:
数据管理编辑器的使用:
创建案例:
修改数据的循环的逻辑关系
顺序:
间隔:
随机:
与“***”相等:
建议一对多的关系:
示例:
在VBS调用:
在QTP中调用
API介绍:
Void Obj.InitExcel(string filename, string sheetn,string tool)
Int Obj.GetRowCountR()
int Obj.getRealCount(int col)
Int obj. GetColumnCount()
string Obj.DataRow(string fieldname) 参数:
string Obj.GetDataCell(int row,int col)
string Obj. GetDataCellSeq (int row,int col)
Void Obj.ReleaseDataManager()
安装环境:
Ø 操作系统:Win2000以及WinxP、Win2003
Ø DotnetFramework2.0
Ø 如果在QTP中运行,需要QTP9.2或以上版本
Ø Office2003
安装:
1、 点击:DataManagerSetup.msi
选择“下一步”
选择安装目录,然后点击“下一步”,开始安装,
选择“关闭”,则完成安装
安装好之后,你可以在菜单上可以看到
(安装程序同时完成了相关COM注册过程,此时可以在QTP直接调用相关组件)
数据管理编辑器的使用:
在菜单上点击“数据管理编辑器”
你如果需要帮助,可以点击
可以看到相关的帮助信息以及3atesting各类视频信息
创建案例:
鼠标在TestCase的Tab点击右键,即可出现如下菜单
选择“列”则会新增一列,列就是你的案例中所涉及到的数据的名字,然后需要修改你的数据名称你可以双击列名,然后修改为你想要的名字,例如:将”Column0”,修改为”Username”
修改数据的循环的逻辑关系
属性:表示有如下的选择
顺序:
表示这一列在循环过程中,将按照序号采取递进的方式进行获取这一列的方式进行操作。
如果你“属性”选择“顺序”模式,此时必须双击“类别”这一行!它将弹出一个对话框
间隔:
每次获取新值得间隔,比如说第一次取得是第一行,第二次再次取值时候,希望取第三行,那么间隔则设置为2,即可。
循环控制:什么时候获取新值,比如说:在本次循环过程中有2个地方调用此参数,但是希望在本次循环过程中不改变对应的值,则选择“循环结束才更新”
随机:
则表示在本列中每次都会随机获取一个值,此时第二行“类别”显示灰颜色。双击无效
与“***”相等:
程序会自动地根据现在的列数帮你选择出你可以建立的参数列表。例如
因为现在案例中有四个参数,那么你可以与其他参数建立一一对应的关系。即:如果我们选择了和“username”建立一一对应关系,那么username取得是第一行的参数时,那么本参数也取得是第一行
建议一对多的关系:
选择这个选项的时候,将会弹出一个新窗口
比如说我们选择和”username”这个参数建立1:3的关系。那么你可以在下拉列表框选择3。(下拉列表框的值的个数是与你现在的主列表的行数关联的,如果主程序有4行,那么它会有1,2,3,4,四个值供你选择)
保存:
完成所有的数据输入的时候,你可以选择保存,将会保存到一个xls文件中去。
示例:
在VBS调用:
Set Data_Obj=CreateObject("TestDataManager.SanATestingDataManager")’创建COM对象示例
Data_Obj.InitExcel "D:/TestDataManager/sample/book3.xls","TestCase",""'修改book1.xls的文件路径
msgbox Data_Obj.getRealCount(1)'获取第二列的行数
msgbox Data_Obj.GetRowCountR()'获取案例的总行数
For i = 1 to 2
msgbox Data_Obj.DataRowOrg("Username",i)'每次都更新、递进步骤为 一
msgbox Data_Obj.DataRowOrg("Password",i)'与Username建议一一对应的关系
msgbox Data_Obj.DataRowOrg("Area",i)'随机取一个值
Next
在QTP中调用
打开QTP,然后输入SanATestingDataManager,输入“.”它会自动地显示可以调用的方法函数,关于函数定义见API介绍:
SanATestingDataManager.InitExcel "c:/book3.xls","TestCase",""
msgbox SanATestingDataManager.getRealCount(1)
msgbox SanATestingDataManager.GetDataCell(2,1)
For i=1 to 5
msgbox SanATestingDataManager.DataRowOrg("Username",i)
msgbox SanATestingDataManager.DataRowOrg("Password",i)
msgbox SanATestingDataManager.DataRowOrg("Area",i)
Next
SanATestingDataManager.ReleaseDataManager()
API介绍:
Void Obj.InitExcel(string filename, string sheetn,string tool)
参数:
Obj:在QTP中是SanAtesting,否则为实例化的对象名
Filename:存放案例的excel文件
Sheetn:Excel的sheet名字
Tool:如果是要集成QTP中的循环,则设定此值为“QTP”,否则至为””
返回值: 无
例如:
你的案例保存在c:/testcases/testcase1.xls,测试的案例sheet“user”不集成QTP循环
SanAtesting.InitExcel(“c:/testcases/testcase1.xls”,”user”,””)
集成QTP的循环
SanAtesting.InitExcel(“c:/testcases/testcase1.xls”,”user”,”QTP”)
Int Obj.GetRowCountR()
参数:
Obj:在QTP中是SanAtesting,否则为实例化的对象名
返回值:返回对应的总行数。例如:Argument1有3个值,Argument2有5个值。则返回5个值
int Obj.getRealCount(int col)
参数:
Obj:在QTP中是SanAtesting,否则为实例化的对象名
Col:需要获取的某一个列的行数。此值从0开始计数
返回值:返回对应列的行数
例如:例如:第一列Argument1有3个值
SanATesting. getPrimaryCount(0),将返回3
Int obj. GetColumnCount()
参数:
Obj:在QTP中是SanAtesting,否则为实例化的对象名
返回值:返回对应案例的总列数。例如:案例中有5列,则返回5
string Obj.DataRow(string fieldname)
参数:
Obj:在QTP中是SanAtesting,否则为实例化的对象名
Fieldname:获取对应列的值。此值是根据案例中实际的运行关系,计算获取到定义的行。此函数集成了QTP的循环。所以此时不需要设定运行过程中对应的行数
返回值:通过根据运行的逻辑以及参数属性的定义。动态计算获取对应的某一具体的值
string Obj.DataRowOrg(string fieldname,int iterflag)
参数:
Obj:在QTP中是SanAtesting,否则为实例化的对象名
Fieldname:获取对应列的值。例如:”Argument1”
Iterflag:传入程序的正在运行的次数。例如:程序需要运行3次,现在正在运行第二次,那么此值为2
返回值:通过根据运行的逻辑以及参数属性的定义。动态计算获取对应的某一具体的值
例如:
For i = 1 to 5
msgbox SanATesting.DataRowOrg("Argument1",i)
next
string Obj.GetDataCell(int row,int col)
参数:
Obj:在QTP中是SanAtesting,否则为实例化的对象名
Row、col:获取案例对应的行以及列的具体某一个值。注:此值下标为:0
返回:指定行、列对应的值
例如:获取案例中第一行、第一列的值
SanATesting.GetDataCell(0,0)
备注:这个函数不影响与这个字段相关的参数的循环逻辑。
例如:
Arg1
Arg2
Seq
Sameas{Arg1}
1
A
2
B
3
C
假设现在Arg1现在取得值为第一行,那么Arg2同样获取的值也为第一行。但是程序又调用了GetDataCell(2,0)即获取到第Arg1第三行的值,但是此时与Arg1有逻辑关系的Arg2,现在仍是取第一行的值,这个函数不会影响与之相关的参数获取的函数
string Obj. GetDataCellSeq (int row,int col)
参数:
Obj:在QTP中是SanAtesting,否则为实例化的对象名
Row、col:获取案例对应的行以及列的具体某一个值。注:此值下标为:0
返回:指定行、列对应的值
例如:获取案例中第一行、第一列的值
SanATesting. GetDataCellSeq (0,0)
备注:这个函数将影响与这个字段相关的参数的循环逻辑。
例如:
Arg1
Arg2
Seq
Sameas{Arg1}
1
A
2
B
3
C
假设现在Arg1现在取得值为第一行,那么Arg2同样获取的值也为第一行。但是程序又调用了GetDataCell(2,0)即获取到第Arg1第三行的值,但是此时与Arg1有逻辑关系的Arg2,现在获取到的是第三行的值。
Void Obj.ReleaseDataManager()
释放所有资源信息
- QTP插件---数据管理器
- QTP 插件加载
- QTP .net插件
- QTP 插件破解
- QTP添加java插件
- QTP BHOManager 插件问题解决
- 功能测试自动化视频---数据插件管理器插件(3atesting自主研发的程序)
- QTP获取EXCEl数据
- QTP相关插件下载地址
- QTP的java插件下载
- sublime 插件管理器安装
- xcode5插件管理器
- iOS xCode插件管理器
- C++插件管理器
- xcode插件管理器
- vim插件管理器vundle
- 关于插件管理器Alcatraz
- vim插件管理器Vundle
- Google App Engine疑似遭封?
- 校内网是如何赚钱的
- JS数组方法汇总
- 回调函数简单应用
- 备份与恢复
- QTP插件---数据管理器
- 12句让人心疼的话
- 用javascript 判断IE窗口是否打开
- 让CPU画正弦曲线
- mmp文件介绍与配置
- 实现下拉列表的分级显示
- 组态软件
- POP3协议命令原始码及工作原理
- 求测绘工程产品价格困难类别细则