UFT 基本操作(描述性编程、函数、循环)
1、描述性编程
class("描述性属性1:=值","描述性属性2:=值")
如输入姓名,使用对象属性方法:
Dialog("Login").WinEdit("Agent Name:").Set "hhzq"
使用描述性编程
Dialog("text:=Login").WinEdit("nativeclass:=Edit","attached text:=Agent Name:").Set "htest"
2、函数(转自http://blog.csdn.net/xifeijian/article/details/8496304)
一、Function与Sub概述:
Sub(子过程): sub是Subroutines的缩写,它的意思是子程序,它是将一段具有某种特定功能的语句区块单独编写成一个独立的程序,给予特定名称 。
Function(函数):表示每个输入值对应唯一输出值的一种对应关系 ,具备 Sub 的功能。
二、Function与Sub异同
相同点:
1)Sub和Function都是 vbscript 的过程,
2)可以传递参数,
3)是业务操作或业务处理的封装,都可以被重复调用。
不同点:
1)Sub无返回值,而Function可以有返回值。
2)调用Sub 和 Function也不同
三、举例[引用之前网上看的一个例子]:
大家应该都知道的谈恋爱的过程。有些人只想知道他谈恋爱的过程(Call Sub)。有些人既想知道过程,又要知道最终结果有没有结婚(Call Function)
假设:谈恋爱这个过程,由给MM打电话、陪MM逛街、给MM送礼物等等动作组成。
那么,Sub 谈恋爱()和Function 谈恋爱()有什么不同呢?
1)Sub 谈恋爱
Sub 谈恋爱()
给MM打电话
陪MM逛街
给MM送礼物
End Sub
调用方法:因为Sub没有返回值,只要在代码中: Call 谈恋爱()
2)Function谈恋爱
Function 谈恋爱()
给MM打电话
陪MM逛街
给MM送礼物
If (mm愿意和他结婚) Then
谈恋爱 = 成功
Else
谈恋爱 = 失败
End If
End Function
调用方法:因为Function有返回值,所以可以把函数返回值赋给变量,只要在代码中:result = 谈恋爱()
3、For 循环(转自http://blog.csdn.net/aeedda/article/details/62034936)
For循环的格式:
For 循环变量 = 初值 To 终值 [Step 步长] step 2 就是i=i+2
[循环体]
Next [循环变量]
注意:
1) 当步长 > 0 时
循环执行的条件:循环变量 <= 终值
2) 当步长 < 0 时
循环执行的条件:循环变量 >= 终值
强行退出 For 循环,请使用 Exit For。
举例1: 单击命令按钮 Command1 后,先后弹出很多消息框,消息内容一开始是 1,最后是 100,每弹出一次,消息内容加 1,也就是 1; 2; 3; ...; 98; 99; 100。
VB 代码如下:
Private Sub Command1_Click()
Dim i As Long
For i = 1 To 100
MsgBox i
Next
End Sub
如果使用 For 语句,代码如下:
Private Sub Form_Load()
For i = 1 To 100
MsgBox i, vbInformation /vbInformation 指显示图标,下同
Next
MsgBox "Finished", vbCritical
End Sub
举例2,While格式
如果不用 For 语句,我们可以这样做:
Private Sub Form_Load()
Dim i As Long
i = 1
While i <= 100 '使用 While 语句
MsgBox i, vbInformation
i = i + 1 '这句话千万不能少!否则会造成死循环!!
Wend '不能用end while
MsgBox "Finished", vbCritical
End Sub
举例3,Do while
Private Sub Form_Load()
Dim i As Long
i = 1
Do While i <= 100 '使用 Do While 语句
MsgBox i, vbInformation
i = i + 1 '这句话千万不能少!否则会造成死循环!!
Loop
MsgBox "Finished", vbCritical
End Sub
举例3 do until
如果连 Do While 都不能用,我们还可以这样做:
Private Sub Form_Load()
Dim i As Long
i = 1
Do Until i > 100 '使用 Do Until 语句
MsgBox i, vbInformation
i = i + 1 '这句话千万不能少!否则会造成死循环!!
Loop
MsgBox "Finished", vbCritical
End Sub