QTP常用函数大全文档格式.docx
- 文档编号:19357143
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:22
- 大小:128.14KB
QTP常用函数大全文档格式.docx
《QTP常用函数大全文档格式.docx》由会员分享,可在线阅读,更多相关《QTP常用函数大全文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
)
4.相对路径
).Dialog("
选择文件"
).WinEdit("
文件名(N):
).SetPathFinder.Locate("
..\党组审批单\中标通知书33.doc"
)'
5.键盘操作
setos=CreateoBject("
wscript.shell"
wait
(2)
os.sendkeys"
{tab}"
"
6.QTP10的破解方法与之前版本类似!
1、从HP官方网上下载QTP10.0并安装。
2、安装成功后,在C:
\ProgramFiles\CommonFiles\MercuryInteractive下创建文件夹:
LicenseManager
3、将破解工具mgn-mqt82.exe复制到C:
\ProgramFiles\HP\QuickTestProfessional\bin下。
4、运行mgn-mqt82.exe,ok,关闭。
5、用记事本打开LicenseManager下的lservrc文件,将第一行#前的代码Copy。
6、将代码复制到license向导中的license输入的地方,点击完成就可以了。
恭喜成功了!
需要安装:
QTP_00626.exe才能调试
7.安装qtp10的补丁QTP_00626.exe才能进行调试工具debugger的安装
8.函数:
Functionlogin(username,password)
).Navigate"
http:
//192.168.100.6:
8080/OA/login.jsp"
).WebEdit("
accountName"
).Setusername
Browser("
passWord"
).Setpassword
).Click
EndFunction
calllogin("
liuyuwei"
1"
9.打印变量:
msgbox(title)
10.得到动态值:
oa"
mainFrame_5"
).WebTable("
请示标题"
).GetROProperty("
text"
11.取出对象数量
setdesc=Description.Create
desc("
ocount=Browser("
mainFrame_4"
).ChildObjects(desc).count'
取出webelement数量
msgbox(ocount)
setobj1=Browser("
fori=0toocount-1
text=obj1.GetROProperty("
innertext"
)
Printtext'
打印所有WebElement的innertext
msgbox(text)
12.读写excel
DataTable.ImportSheetPathFinder.Locate("
..\施工图审查备案审批配置\施工图审查备案审批配置1.xls"
),"
sheet3"
施工图审查备案审批配置"
Dimi,RowCount'
定义变量
i=0'
赋初值
Rowcount=DataTable.GetSheet("
).GetRowCount'
主程序调用时使用
表单管理"
该脚本单独执行时使用
DoWhile(i<
RowCount)
i=i+1
DataTable.SetCurrentRow(i)
北京市建设行业信息化系统"
mainframe_4"
).WebButton("
新增审批权限"
mainframe_7"
).WebList("
xmszd"
).SelectDataTable("
项目所在地"
dtLocalSheet)
xmtzr"
项目投资人"
tdyt"
土地用途"
blbm"
审批部门"
确定"
wait
(1)
loop
写excel:
Functioninsertexcel(row,col,value,path,sheet)
SetExcelApp=CreateObject("
Excel.Application"
SetExcelWor=ExcelApp.Workbooks.Open(path)
SetExcelShe=ExcelWor.Worksheets(sheet).UsedRange
ExcelShe.Cells(row,col)=value
ExcelApp.DisplayAlerts=True
SetExcelShe=Nothing
ExcelWor.Close(True)
ExcelApp.Quit
13.打开\关闭ie,比如:
SystemUtil.Run("
C:
\ProgramFiles\InternetExplorer\IEXPLORE.EXE"
),””
SystemUtil.CloseProcessByName("
iexplore.exe"
14.利用mst(mercuryscripttemplate)生成脚本模板
新建文件ActionTemplate.mst(必须是这个名字)
用记事本打开该文件
编辑内容,如:
======================================
模块名称
软件名称
作者:
日期:
将该文件剪切到QTP的dat目录下
启动QTP,新建脚本时就能够看到该模板被自动应用了
15.描述性编程参数:
mainframe"
).Link("
text:
="
&
projectName,"
name:
projectName).Click
16.增加同步点
在录制状态下,选择Insert-->
SynchronizationPoint,选择要同步的对象,设置要同步的属性,我们可以对对象的Enable,visible一类表示状态的属性做同步点,生成如下脚本
Browser("
XX一下,你就知道"
wd"
).WaitProperty"
visible"
True,100000
这句话的意思就是在100秒的时间内,等待WebEdit这个对象的visible属性,只要它的visible属性变为true,那么就执行下面操作,最后的100000单位是毫秒,如果在100000毫秒(100秒)后还没有等到visible=true,直接执行下面操作
17.qtp连接数据库
DimStrCon
DimRes,Cmd
SetRes=CreateObject("
ADODB.Recordset"
SetCmd=CreateObject("
ADODB.Command"
以下为建立连接
StrCon="
DRIVER={oracle.jdbc.driver.OracleDriver};
Server=192.168.100.5;
UID=dqjs4_test3;
PWD=dqjs4_test3;
dbq=dqjs;
DRIVER={OracleinOraClient10g_home1};
SERVER=DQJS;
DBQ=DQJS;
DBA=W;
APA=T;
EXC=F;
XSM=Default;
FEN=T;
QTO=T;
FRC=10;
FDL=10;
LOB=T;
RST=T;
BTD=F;
BAM=IfAllSuccessful;
NUM=NLS;
DPM=F;
MTS=T;
MDI=Me;
CSR=F;
FWC=F;
FBS=60000;
TLO=O;
Cmd.activeconnection=StrCon
Cmd.CommandType=1
以下为执行sql,根据实际情况替换之
Cmd.CommandText="
selectHT_CODEfromHT_JBXXwhereJY_TYPE_NAME='
勘察'
andHT_JBXX_ID='
28BEB060163C11E1B060C555E3FFBE59'
SetRes=Cmd.Execute()
展示结果
DowhilenotRes.eof
Msgbox(Res(0))
Res.MoveNext
Loop
以下为关闭数据库连接
SetRes=nothing
SetCmd.activeconnection=nothing
SetCmd=nothing
18.取随机数字
Randomize
Dimcran
cran=randomnumber(0,100)
msgboxcran
19.随机取下拉列表
dima
a=Browser("
北京市建设行业信息化系统_2"
提交问题-MantisBT"
reproducibility"
itemscount"
msgboxa
randomize
Dimb
b=randomnumber(0,a-1)
msgboxb
).Select"
#"
b
20.GetROProperty、GetTOProperty、GetTOProperties、SetTOProperty
例:
登陆"
mainFrame"
dispatchDoc.dispatchDocTitle"
).SetTOProperty"
name"
这种方法不会修改对象库中对象的属性值,但运行时也不会报错。
GetROProperty:
得到运行时对象的值
GetTOProperty:
得到对象库里面对象的值
).GetTOProperty("
value"
GetTOProperties:
得到所有属性的keyandvalue
seta=Browser("
).GetTOProperties
21.回放原理
一、先根据脚本中的对象类型在对象库中查找是否存在该类型的对象。
对象类型是指在对象类型库(ObjectIdentification)中存在的类型。
二、根据脚本中对象的名称在对象库中查找是否存在该名称的对象。
三、根据对象类型库中设定的对象识别机制定位对象:
1、先根据强制属性匹配实际对象的属性值:
(1)唯一匹配,找到对象,退出识别机制;
(2)多个匹配,采用辅助属性辅助识别;
(3)不匹配,报错;
2、根据辅助属性匹配实际对象的属性值:
(2)多个匹配,采用顺序标识符辅助识别;
3、根据顺序标识符匹配实际对象的顺序值:
(2)多个匹配,尝试采用智能识别;
其中顺序标识符中有两种识别机制:
index:
控件数组的索引值。
location:
对象在GUI界面上的位置,遵循“先从上到下,再从左到右”的原则。
22.insertcalltoexistingaction
脚本中用到了【insertcalltoexistingaction】,修改了其中被调用的action,但发现引用的一直是旧的代码,修改无效。
刚开始不知道怎么回事,后来发现QTP中查找引用的action时是根据【options->
folders】中配置的路径再拼接相对路径找到的,而之前我一直以为QTP会自动去我的test所在目录中找相对路径的action。
如果填了多个地址,QTP是会由上到下按照地址一个一个的去找
23.数组
Dimjylx()
ReDimjylx(6)
Dimlength
jylx(0)="
勘察"
jylx
(1)="
设计"
jylx
(2)="
审查"
jylx(3)="
施工总承包"
jylx(4)="
监理"
jylx(5)="
质量检测"
jylx(6)="
造价咨询"
length=UBound(jylx)'
返回指定数组维数的最大可用下标
selectcase
SelectCasejylx(i)
casejylx(0)
dw=kcdw
Casejylx
(1)
dw=sjdw
Casejylx
(2)
dw=scdw
Casejylx(3)
dw=sgzcbdw
Casejylx(4)
dw=jldw
Casejylx(5)
dw=zljcdw
Casejylx(6)
dw=zjzxdw
endselect
24.txt文件读取
读取文件
ConstForReading=1,ForWriting=2,ForAppending=8
Setfso=CreateObject("
Scripting.FileSystemObject"
Setopenfile=fso.OpenTextFile("
/test.txt"
ForReading,True)
DoUntilopenfile.AtEndOfStream
str=openfile.ReadLine
a=Split(str,"
-1,1)
Fori=0toUbound(a)
Msgboxa(i)
Next
openfile.Close
Setfso=Nothing
写文件
setopenfile=fso.OpenTextFile("
ForWriting,true)
Fori=1to4
openfile.WriteLine("
hello"
openfile.WriteBlankLines(0)
Setfso=nothing
追加
ForAppending,true)
openfile.WriteLine("
helloworld"
25.验证码(扯)
DimInput
Input=InputBox("
Enteryourpicno:
调查博客"
ident_code"
).SetInput
26.action参数传递
(1)在主action中:
RunAction"
Driver_TestCase"
oneIteration,table,testCaseSheetName,caseName
(2)被调用action中
testCaseFile=parameter("
testCaseFile"
testCaseSheetName=parameter("
testCaseSheetName"
caseName=parameter("
caseName"
按照顺序传递
27.(脚本中直接调用vbs文件)脚本中加载vbs文件,有类的vbs需要这样使用
ExecuteFile"
..\aa\bb.vbs"
该vbs文件的格式必须是ANSI的
28.自定义环境变量
SetoReport=NewExcelReport
Environment("
oReport"
)=oReport
通过环境变量也能传递参数
29.QTP使用外部共享对象库有2种方法
1,通过菜单Resources->
AssociateRepositories,关联外部对象库到指定的Action。
2,通过RepositoriesCollection对象,在运行时灵活的加载,自动关联到当前Action。
1.加载外部对象库
2.执行脚本
3.移除加载的对象库
Uploadobjectrepository
RepositoriesCollection.Add"
../test.tsr"
steps...........
....................
Removeobjectrepository
OR_Index=RepositoriesCollection.Find("
RepositoriesCollection.RemoveOR_Index
30.ie8定位不了页面
31.退出整个for循环exitfor
Fori=0to4
msgboxi
If(i=3)Then
Exitfor
EndIf
32.datatable使用
qtp的datatable里面增加一个sheet,名称为:
test
datatable.AddSheet("
test"
导入当前目录下aaa.xls的sheet到test中
datatable.ImportSheetpathfinder.Locate("
..\qtptest\aaa.xls"
sheet1"
获取这个test的总行数
).GetRowCount
Fori=1toRowcount
设置当前行
datatable.GetSheet
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QTP 常用 函数 大全
![提示](https://static.bdocx.com/images/bang_tan.gif)