1.GetCellData函数
作用:获取单元格的值
例: rowCount = Browser("xxx ").Page("xxx ").Frame("xxx").WebTable("xxx").RowCount
For counter = 1 To rowCount
text = Browser("xxx").Page("xxx").Frame("xxx").WebTable("xxx").GetCellData(counter,1)
If (text = "xxx") Then
counter = counter - 1
selectNO = "#" & counter
Browser("xxx").Page("xxx").Frame("xxx").WebRadioGroup("xxx").Select selectNO
Exit For
End If
Next
2.把值插入datatable里
例: datatable.setcurrentrow(i)
datatable.value("name","Global")="name"
datatable.value("passwd","Global")="passwd"
3.用代码来启动浏览器
Browser1 = "IE"
StartURL = "www.51testing.com"
IF Browser1 = "IE" THEN
set IE = CreateObject("InternetExplorer.Application")
IE.Visible = true
IE.Navigate StartURL
END IF
4.ExecuteFile函数
作用:ExecuteFile 可以直接执行vbs文件,而不需要将其导入resource中
ExecuteFile FileName
说明:where FileName is the absolute or relative path of your VBscrīpt file.
例:ExecuteFile("F:"test.vbs")
5.Strcomp函数
作用:比较文本
例:dim strtext1,strtext2,str ,str1,comp1
strtext1 = "xxx"
strtext2 = "xxx"
str = VbWindow("xxx").VbWindow("xxx").VbLabe1("xxx").GetTOProperty("text")
str1= VbWindow("xxx").VbWindow("xxx").VbLabel("xxx").GetTOProperty("text")
comp1=strcomp(strtext1,str,0)
If comp=0 Then
msgbox “这两个串相等”
else
msgbox str
End If
6.CaptureBitmap
作用:捕获屏幕
7. GetROProperty
作用:取对象属性值
例:VbWindow("xxx").VbWindow("xxx").VbWindow("xxx").ActiveX("xxx").GetROProperty("TextMatrix(1,0)")
8.ExitAction - 退出当前操作,无论其循环属性如何。
ExitActionIteration - 退出操作的当前循环。
ExitRun - 退出测试,无论其循环属性如何。
ExitGlobalIteration - 退出当前全局循环。
9.如何使用Excel对象处理数据?
Dim xl
打开excel文件
Function OpenExcelFile(strFilePath)
Set xl = CreateObject("Excel.Application")
xl.Workbooks.Open strFilePath
End Function
获得指定单元格数据
Function GetCellData(strSheet,rwIndex,colIndex)
GetCellData = xl.WorkSheets(strSheet).Cells(rwIndex,colIndex)
End Function
填充单元格数据
Function PutCellData(strSheet,rwIndex,colIndex,varData)
xl.WorkSheets(strSheet).Cells(rwIndex,colIndex) = varData
End Function
保存并推出
Function SaveAndQuit()
xl.Activeworkbook.save
xl.Quit
Set xl = nothing
End Function
10.连接sql数据库
例im res,cmd,sql
Set Res=createobject("adodb.recordset")
Set Cmd=createobject("adodb.command")
Cmd.activeconnection="rovider=SQLOLEDB.1assword=111111ersist Security Info=True;User ID=sa;Initial Catalog=xhq;Data Source=192.168.191.142" '这句话是连接数据库的数据源,要做修改
Cmd.CommandType = 1
sql="selec t * from 表 where name=username"
Cmd.CommandText = sql
Set res = Cmd.Execute()
Set res = nothing
Set cmd.ActiveConnection = nothing
Set Cmd= nothing
11 检查页面是否存在 对象exist可以检查某一个页面是否存在。 代码: if Browser("…").Page(“…").Exist then ‘在运行结果中显示的报告, “micPass”的状态是通过, micFail是不通过 reporter.ReportEvent micPass ,“页面存在“,”通过“ else reporter.ReportEvent micFail ,"页面不存在“,"不通过" end if
12 防止程序中断的方法 在回放脚本的时候,有时因为错误导致运行的脚本中断,不能自动运行。为了能达到真正无人职守的状态可以在脚本的最前面加上如下的代码: On error resume next ‘遇到错误返回到脚本的下一行继续执行。 On error goto 0 ‘错误处理的控制权,平时是由QTP控制的(这个叫默认的),当有on error resume next 时,是交给on error处理,当on error goto 0时,就换给QTP
13 同步点的设定 等待某一对象出现后继续执行,为了防止qtp找不到对象而设定同步点。有2种方法:1种是用wait加等待的时间,如wait 5(qtp等待5秒钟后继续执行)。另一种方法是等待要执行对象的出现,如果出现就继续执行,否则一直等待,代码如下: y=......waitproperty("visible",true,10000) If y=true then ‘执行下一条语句 else ’对象不出现就一直等待,直到过了10000秒后程序找不到对象报错 End if
14 截屏 在优化脚本时,如果想查看某一页面在执行后的页面效果,可以采取截屏的办法截取当前的操作页面并保存到本地。代码: desktop. capturebitmap “c:"***.bmp“,ture ’在脚本中想要查看的一行插入,运行后图片保存到设置的路径下
15 导入execl文件并参数化数据方法 Qtp自带了datatable表,可以把要参数化的数据写在里面,但这样写脚本和数据不能分离,后期不好维护脚本。现在采用从外部导入execl文件的方法导入数据。代码如下: datatable.ImportSheet “D:"..."data.xls”,“sheet1”,“global“ ‘第一个参数是要导入文件的路径,第二个是execl的第一个表格,第三个参数是在execl的全局范围内查找 另外datatable对象还有很多操作,比如:获取表中字段的行数,插入表数据,删除数据等,下面是获取表中数据的代码:datatable("A","dtglobalsheet)
16 为描述性编程自动创建注释 当希望在每一个新建action时都增加一些头部说明,比如作者、创建日期、说明等信息,那么用action template 来实现最简单快捷。 方法:用记事本等文本编辑器,输入如下类似的内容: 'Company:东方般若 'Date: Date 然后将文件保存为ActionTemplate.mst,并存放到QTP安装目录下的dat目录。
17 导入vbs文件 想要实现脚本的函数化,并更好的维护它,可以把一些公用的函数写到vbs里面,用qtp来调用它。 实现调用vbs的方法有2种: 1.函数executefile加vbs文件的路径 executefile “c:"..."funcation.vbs” 2.设置QTP test/settings/resources/+函数目录
18 时间差函数 统计两个日期时间段之间的间隔,还有多少小时 Dim timediff timediff=datediff(“H”,now,“2008-8-8” ) Print timediff |
|