QTP培训总结

上一篇 / 下一篇  2008-12-17 11:42:28 / 个人分类:QTP

1.启动

SystemUtil.Run和InvokeApplication

例子:

SystemUtil.Run "D:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"

InvokeApplication "D:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"

SystemUtil.Run "iexplore.exe","www.baidu.com",,,3

InvokeApplication "C:\Program Files\Internet Explorer\IEXPLORE.EXEhttp://www.google.cn/"

2.设置环境参数,并读取

1)手动设置:file-settings-environment,选择build in,添加参数和值,并可以导出为xml文件

2)可以自己直接创建修改xml文件,格式如下:

xml文件的格式为:

================================================

<Environment>
 <Variable>
  <Name>UserID</Name>
  <Value>founder</Value>
 </Variable>
 <Variable>
  <Name>pwd</Name>
  <Value>112</Value>
 </Variable>
</Environment>

=================================================

3)通过语句读xml文件,并设置为环境参数

例子:

Environment.LoadFromFile "G:\qtpscrīpt\peixun\test.xml"
Dim tmp_ID,tmp_pwd
tmp_ID= Environment.Value ("UserID")
tmp_pwd= Environment.Value ("pwd")
msgbox environment.ExternalFileName
msgbox tmp_ID
msgbox tmp_pwd

4)优点:任何action可以调用。

如:设置路径为环境参数,以后脚本转移了,直接修改xml里路径的值就可以了。(?待实践)

3.导出QTP的EXCEL文件,读取默认格式的xls文件(有Global,Action1)

例子:导出excel文件,读取文件,并读取具体字段

Dim tmp_pwd
Datatable.Export "G:\qtpscrīpt\peixun\test.xls"                                                
Datatable.Import "G:\qtpscrīpt\peixun\test.xls"
tmp_pwd = datatable.RawValue("Password","Action1")
msgbox tmp_pwd

4.读取自己定义的xls文件

例子:读取自己定义的xls文件,取值

自己定义的xls文件,取出,替换到ACTION1的值。
Datatable.ImportSheet "G:\qtpscrīpt\peixun\test1.xls",1,"Action1"  
'设置当前读取第几行     
datatable.SetCurrentRow(2)   
tmp_pwd=Datatable.RawValue("Password","Action1")                            
msgbox tmp_pwd
Dim tmp_user 
tmp_user=datatable.RawValue("UserID","Action1")
msgbox tmp_user

5.显示当前执行excel的行数

Dim tmp
datatable.SetCurrentRow(2)
datatable.SetPrevRow
datatable.SetNextRow
tmp=datatable.RawValue("row","Action1")
msgbox tmp
tmp=datatable.RawValue("row","Action1")
msgbox tmp

6.语句调用vbs函数

ExecuteFile  "c:\my.vbs"
(注:我的QTP9.5版本不行)

7.for循环

Dim i,j
For i=1 to 10 step 5
 For j=1 to 10
  print"j."&j
 Next
Next

8.重写方法

例子:

 Function MySet(obj,x)
   MySet=obj.set(x)
   msgbox"Myset"
 End Function

RegisterUserFunc "WinEdit","Set","MySet"
Dialog("Login").WinEdit("Agent Name:").Set "founder"
UnRegisterUserFunc "WinEdit","Set"

练习:代替click动作

Function MyClick(obj,x)
  mySet=obj.click(x)
  msgbox"Myclick"
End Function

RegisterUserFunc "WinButton","Click","MyClick"
Dialog("Login").WinButton("OK").Click
UnRegisterUserFunc "WinButton","Click"

9.输出值

Dialog("Login").WinEdit("Agent Name:").Output CheckPoint("Agent Name:_4")
Dim temp
temp=datatable.RawValue("name","Action1")
msgbox temp

10.同步点

Dim temp
temp=Window("Flight Reservation").WinComboBox("Fly From:").Check( CheckPoint("Fly From:_2"))                  '?????????加+正则表达式??
msgbox temp

11.给action设置参数

手动到Keyword View页面,对action右键-action properties-Parameters,添加参数

msgbox parameter.Item ("userid")

ps:调用Action的方法。。?

12.描述性编程

方法一

sName="Login"
Dialog("text:="&sName,"Class Name:=Dialog").WinEdit("attached text:=Agent Name:").Set parameter.Item ("userid")
Dialog("text:=Login","Class Name:=Dialog").WinEdit("attached text:=Password:").SetSecure  parameter.Item("password")
Dialog("Login").WinButton("OK").Click

方法二

set AgentName = Descrīption.Create()
AgentName("attached text").Value = "Agent Name:"
Set MyObj=Descrīption.Create()
MyObj("text").Value="Login"
MyObj("class name").value="Dialog"


Dialog(MyObj).WinEdit(AgentName).Set parameter.Item ("userid")
Dialog(MyObj).WinEdit("attached text:=Password:").SetSecure  parameter.Item("password")
Dialog(MyObj).WinButton("text:=OK").Click


TAG: QTP

 

评分:0

我来说两句

Open Toolbar