学习QTP笔记2
来源:互联网 发布:微信公众平台框架 java 编辑:程序博客网 时间:2024/05/17 14:26
1、Datatable方法GetRowCount
DataTable.GetSheet("Action1").GetRowCount //获取总行数
使用如:
CountNum=DataTable.GetSheet("Action1").GetRowCount
2、Datatable方法SetNextRow
DataTable.GetSheet("Action1").SetNextRow //取得下一行
datatable.setcurrentrow(n) //取得某一行
3、Datatable方法getcurrentrow //获得当前行数
例如:datatable.getcurrentrow
4、获取datatable值
4.1 DataTable("p_Text", dtLocalSheet) //取得datatable中参数名称为:p_Text的值
4.2 DataTable.GlobalSheet.GetParameter("p_Text").Value //获取参数值方法和DataTable("p_Text", dtLocalSheet)一样
例如:xname为变量,dim xname
xname=DataTable("p_Text", dtLocalSheet)
xname=DataTable.GlobalSheet.GetParameter("p_Text").Value
5、datatable.value("num")只在global形式下的一种省略形式;完整形式是:
datatable.value("num",dtlocalsheet)
-----向某一列的单元格赋值:
datatable.value("column_name",dtlocalsheet)="nanjing"
6、字符转换Cstr
dim mm
Cstr(mm)
7、获取对象属性名称用法:
GetRoProperty----从应用程序界面上获取对象属性(即,是脚本运行时,获取的对象动态属性值)
例如:获取对象库中index属性值,似乎只能用GetToProperty,因为应用程序界面上对象没有该属性,只是
QTP为识别该对象创立的描述属性;
GetToproperty----从对象库中描述对象的属性,静态值
GetToProperties----获取用于标识对象的属性集;对于这个集合,有count等属性方法
8、如果弹出对话框就获取上面提示信息并与表中的信息对比,不统一证明弹出的提示出错,主要用来验证
if browser("web_name").dialog("dialog_name").exist(1) then'如果不出现=false
error_message=browser("web_name").dialog("diaglog_name").static("用户密码错误!".getRoproperty("text")
if error_message<>(datatable.value("error_info"))then
msgbox(error_message)
end if
browser("web_name").dialog("diaglog_name").close
end if
这里总结了两点技巧:
一是:对于dialog中,虽然提示信息对象名称是"用户密码错误",但如果信息对象名称是“该用户不存在”,不用更改会自动识别,我想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象的属性
二是:如果对于提示信息比较长的,可以用mid(error_message,n,m)取一部份特征提示信息进行验证,这样我想可以节省处理时间,又可以避免长度以及空格等字符的处理
9、数据库检查点模块:
sub database_check
set con=createobject("adodb.connection")
con.open "Description=IBM_ODBC;DRIVER=SQL Server;SERVER=IBM;UID=sa;"&_
"PWD=123456;APP=Quick Test Pro;WSID=IBM;DATABASE=IBM_table"
'access方式:con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:/test.mdb"
'Orocle方式:con.open "DRIVER={Oracle in OraHome92};SERVER=CESHI;UID=CND_TEST;PWD=CND;DBQ=CESHI;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;"
set record=createobject("adodb.recordset")
sql="select*from ibm_one_table"
record.open sql,con
DO
if(record("ibm_table_column")="kai")then'//查找表格中有多少kai
num=num+1;
end if
record.movenext
loop until record.eof=true
record.close
set record=nothing
con.close
set con=nothing
end sub
10、"is+*"类型function
isarray'是否是数组
isconnected'判断QTP是否连接到TD
isdate'是否是合法的日期类型
isempty'判断是否初始化
isNull'判断是否为空值
isNumeric'判断是否是数字型
isobject'判断是否一个功能对象
isready'判断设备是否准备就绪
isRootFolder'是否是根目录
11、for方法1,参数化时选择:dtLocalSheet
Dim CountNum
CountNum=DataTable.GetSheet("Action1").GetRowCount
For i=0 to CountNum-1
----xunhuanti------
DataTable.GetSheet("Action1").SetNextRow //使用SetNextRow方法
Next
12、for方法2,参数化时选择:dtLocalSheet
dim countNum
countNum = DataTable.GetSheet("Action1").GetRowCount
For i=1 to countNum
DataTable.GetSheet("Action1").SetCurrentRow(i) //使用SetCurrentRow(i)方法
―――ddd―――
next
13、while方法1,参数化时选择:dtLocalSheet
Dim CountNum,i
i=1
CountNum=DataTable.GetSheet("Action1").GetRowCount
While i<=CountNum
------xuhuanti---
DataTable.GetSheet("Action1").SetNextRow
i = i+1
Wend
14、while方法2,参数化时选择:dtLocalSheet
Dim CountNum,i
i=1
CountNum=DataTable.GetSheet("Action1").GetRowCount
While i<=CountNum
DataTable.GetSheet("Action1").SetCurrentRow(i)
----xuhuanti---
i = i+1
Wend
- 学习QTP笔记2
- QTP学习笔记(2)--插件
- 学习qtp笔记1
- 学习QTP笔记3
- QTP学习笔记1
- QTP/UFT 学习笔记
- QTP 学习笔记
- QTP自动化测试学习笔记
- QTP 学习笔记--编写翻页脚本
- [学习笔记]QTP项目应用与进阶
- QTP关于winList 随机数学习笔记
- 【转】《QTP自动化测试进阶》学习笔记
- QTP学习笔记(1)--知识准备
- 一位高人的QTP学习笔记
- QTP笔记
- QTP学习
- qtp学习
- 《精通QTP-自动化测试技术领航》学习笔记2-link对象
- 警惕UNIX下的LD_PRELOAD环境变量
- 写 Java 程序最容易犯的 21 种错误实例分析
- 禁止DataGridView点击表头进行排序(WinForm)
- [DB][Oracle]如何用一个SQL文实现Insert/Update/Delete和--MERGE命令详解
- eclipse3.2.1+myeclipse+ejb3.0(如何再eclipse3.2下做ejb3.0的开发)
- 学习QTP笔记2
- 什么是TTL
- Booksir路线:先成材,再成功,警察到书生的传奇(转载)
- cursor新用法
- Sql_将某一个字段组成字串
- Socket里listen函数的参数含意
- JAVA人才大连正流行
- 何为CallBack???
- 互联网周刊:到底应该选择Java还是.NET