-
QTP中对QC附件操作的几个函数(2)
2012-07-03 18:30:40
- End If
- End Function
- '*****************************************************************************************************************
- '名称:AddAttachmentOnQC
- '说明:向QC服务器上的指定对象(Test、TestSet或者Defect)中添加附件
- '输入:
- ' TestObject - QC上的对象:Test、TestSet或Defect
- ' FileName - 上传目标文件名(完全路径文件名,Full Path Name)
- '返回:
- ' Bool类型,True代表上传附件成功,False代表上传附件失败
- '示例:AddAttachmentOnQC QCUtil.CurrentTest, "d:/temp/data_file_attached.xls"
- '设计人员:LYH
- '设计时间:08/10/23
- '*****************************************************************************************************************
- Public Function AddAttachmentOnQC(TestObject, FileName)
- On Error Resume Next
- '初始化函数返回值
- AddAttachmentOnQC = False
- '通过AddItem(Null)方法取得Attachment对象
- Set AttachmentFactory = TestObject.Attachments
- Set Attachment = AttachmentFactory.AddItem(Null)
- '上传文件并更新
- Attachment.FileName = FileName
- Attachment.Type = 1
- Attachment.Post
- Attachment.Refresh
- AddAttachmentOnQC = True
- '错误情况处理
- If Err.Number <> 0 Then
- Err.Clear
- GetAttachmentOnQC = False
- On Error GoTo 0
- End If
- End Function
- '*****************************************************************************************************************
- '名称:ReplaceAttachmentOnQC
- '说明:替换QC服务器上指定对象(Test、TestSet或者Defect)的附件
- '输入:
- ' TestObject - QC上的对象:Test、TestSet或Defect
- ' OldFileName - 待删除文件名
- ' NewFileName - 待上传文件名(完全路径文件名,Full Path Name)
- '返回:
- ' Bool类型,True代表替换附件成功,False代表替换附件失败
- '示例:ReplaceAttachmentOnQC QCUtil.CurrentTest, "data_file_attached.xls", "d:/temp/data_file_attached.xls"
- '设计人员:LYH
- '设计时间:08/10/23
- '*****************************************************************************************************************
- Public Function ReplaceAttachmentOnQC(TestObject, OldFileName, NewFileName)
- On Error Resume
-
QTP中对QC附件操作的几个函数
2012-07-03 18:27:46
- '*****************************************************************************************************************
- '名称:GetAttachmentFromQC
- '说明:从QC服务器上的指定对象(Test、TestSet或者Defect)中找到指定名称的附件,下载到指定目录
- '输入:
- ' TestObject - QC上的对象:Test、TestSet或Defect
- ' FileName - 下载目标文件名(附件)
- ' DstFolder - 下载目标文件夹
- '返回:
- ' Bool类型,True代表取附件成功,False代表取附件失败
- '示例:GetAttachmentOnQC QCUtil.CurrentTest, "data_file_attached.xls", "d:/temp"
- '设计人员:LYH
- '设计时间:08/10/23
- '*****************************************************************************************************************
- Public Function GetAttachmentOnQC(TestObject, FileName, DstFolder)
- On Error Resume Next
- '初始化函数返回值
- GetAttachmentOnQC = False
- '为DstFolder变量添加路径斜杠"/"
- If Right(DstFolder, 1) <> "/" Then
- DstFolder = DstFolder & "/"
- End If
- '取得AttachmentList对象,即TestObject的所有附件
- Set AttachmentFactory = TestObject.Attachments
- Set AttachmentList = AttachmentFactory.NewList("SELECT * FROM CROS_REF")
- '先删除本地的文件.
- Set fso = CreateObject("Scripting.FileSystemObject")
- If fso.FileExists(DstFolder & Filename) then
- fso.DeleteFile DstFolder & Filename '删除文件
- End if
- Set fso = Nothing
- '遍历TestObject对象的所有附件,找到名称为FileName的附件。附件
- For Each Attachment in AttachmentList
- If InStr(1,Attachment.Name, FileName, 1) >= 1 Then
- Set AttachmentStorage = Attachment.AttachmentStorage
- AttachmentStorage.ClientPath=DstFolder
- AttachmentStorage.Load Attachment.Name,True
- '下载后重命名,去掉QC附件前缀。类似Test_#_Filename
- RenameFile DstFolder & Attachment.Name, DstFolder & Filename
- GetAttachmentOnQC = True
- Exit Function
- End If
- Next
- '错误情况处理
- If Err.Number <> 0 Then
- Err.Clear
- GetAttachmentOnQC = False
- On Error 查看(617) 评论(0) 收藏 分享 管理
-
QTP Reusable functions
2012-07-03 15:40:20
Automation testing using QTP has always been talked upon the most in the testing industry. There are numerous features available within this very toolset, but most of us might not be aware of this very feature which has been discussed in this very articles on automation testing using QTP which is functions created in Vbscript , and is very useful in code customization to meet our automation testing requirements , as it reduces the script. maintenance effort..
' Three methods of issuing a BEEP from QTP
' Method 1
Extern.Declare micLong,"MessageBeep","User32","MessageBeep",micLong
retVal = Extern.MessageBeep(&HFFFFFFFF)
MsgBox retVal 'The return value should be 1.
' Method 2
Err.Number = 0
On Error Resume Next
Extern.Declare micLong,"MessageBeep","User32","MessageBeep",micLong
Extern.MessageBeep(&HFFFFFFFF)
If (Err.Number <> 0) Then
MsgBox Err.Description
End If
' Method 3
Extern.Declare micLong,"Beep","Kernel32","Beep",micLong,micLong
retVal = Extern.Beep(1000,250) 'The first number is frequency the second is duration.
MsgBox extract_number("This user belongs to 10 groups")
MsgBox extract_number("206 features assigned to the user.")
2. Check for Required URL
startURL = "www.google.com" ' Amend this to your required URL
' If no browser open, open browser and navigate to required URL
If Not Browser("CreationTime:=0").Exist Then
Call launch(startURL)
Else
' Get the URL of the current open browser
currentURL=Browser("CreationTime:=0").GetROProperty("OpenURL")
' If not correct URL navigate to required URL
If Not currentURL = "www.google.com" Then
Call launch(startURL)
End If
End If
Function launch(startURL)
' Create IE object and navigate
' to required URL
set IE = CreateObject("InternetExplorer.Application")
IE.Visible = true
IE.Navigate startURL
End function
3. Close QTP with QTP script
Private Function CloseQTP
Set bjWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'QTPro.exe'")
For Each objProcess in colProcess
objProcess.Terminate()
Next
Set bjWMIService = Nothing
Set colProcess = Nothing
End Function
4. Open any Appllication through QTP
' Function OpenApp
' ------------------
' Open a specified application
' Parameter: application - the application full name (including location)
'@Description Opens an application
'@Documentation Open the application.
Function OpenApp (application)
systemUtil.Run application
End Function
5. Adding any information to QTP Results
' AddToTestResults
' --------------
' Add a Report.Event step to the Test Results
'Parameters:
' status - Step status (micPass, micFail, micDone or micWarning)
' StepName - Name of the intended step in the report (object name)
' details - Description of the report event '
'@Description Reports an event to the Test Results
'@Documentation Report an event to the Test Results.
Public Function AddToTestResults (status, StepName, details)
Reporter.ReportEvent status, StepName, details
End Function
6. Enable Doubleclick Event in QTP
Enable the ondblclick event in the Web Event Recording Configuration
To enable special event handling, use the Web Event Recording Configuration utility.
1. Go to Tools -> Web Event Recording Configuration.
2. Click .
3. Expand the Standard Objects branch.
4. Select the object you want to configure.
5. Go to Event -> Add -> ondblclick. The event will be added to the list on the right.
6. Select "If Handler" in the Listen column.
7. Select "Enabled" in the Record column.
8. Click to close the dialogs.
7. DSN - Less Connection
Public sconn
uid = "UID"
pwd = "PWD"
ServerName = "Server Name"
Connection()
Function Connection()
Set sconn = CreateObject("ADODB.connection")
sconn.Open "Driver=Microsoft ODBC for Oracle;Server="& ServerName &";Uid="& uid &";Pwd="& pwd &""
End Function
8. High-Level Automation Framework Information
At a very high level the framework components can be divided into two categories software part and documentation part. Here is my list of components ? you can add your item if anything is missing.
---------------------------------------------
All software code part
---------------------------------------------
Supporting libraries for Logging, error handling, Execution management
1. Tool specific code
2. Setup and configuration scripts
3. Test management code
4. Test data and Test data management code
5. Platform/OS specific scripts
---------------------------------------------
Non software part
---------------------------------------------
Folder structure
Documents
i. Coding guidelines
ii. Procedure for creating scripts
iii. Planning, design and review procedures
iv. Approach for automation
v. Approach for Testing automation code
vi. Automation documentation - how scripts work
vii. Setup and implementation procedures
viii. Defect tracking procedure for Automation scripts
ix. Source control procedures
x. Project plan
xi. Templates for effort estimation
xii. Template for test case categorization
xiii. Template for ROI calculation
9. Get Input Parameter Data and Use in Script
Set qtApp = CreateObject("QuickTest.Application") ' Create the Application object
Set pDefColl = qtApp.Test.ParameterDefinitions
Set pDef = pDefColl.Item(1)
MsgBox pDef.DefaultValue
10. Pass Test Data from MQC to QTP?
1) Create Test parameters in QTP (via file>Settings>Parameters) [These are the parameters that you see in QC, on the automated tab of the Configuration page in the Test Instance Propertirs.]
2) Create action parameters (Action Properties> Parameters)
3)Link action & test parameters together. To do this, go into Action Call Properties>Parameters. You'll see your action parameters here. Click in the Value column for a parameter and press the Configure Value button. This will open up the Value Configuration Options dialogue. In the parameter drop down list, select Test/action parameter and then, from the following Test parameters; Parameter drop down list, select the Test parameter that you want to link to your Action parameter.
This should then link the Test parameters to the Action parameters.
Then in your script, you'll use the parameters as follows: -
Browser("Browser_Name").Page("Page_Name").WebEdit("Edit_Name").Set Parameter("Parameter_Name")
11. Get the Attachement from QC to local machine
To get attachment from test
Public Function GetTestAttachmentPath(TDAttachmentName) 'Returns File Path
'Test Director TDAPIOLELib object variables
Dim otaAttachmentFactory 'As TDAPIOLELib.AttachmentFactory
Dim otaAttachment 'As TDAPIOLELib.Attachment
Dim otaAttachmentList 'As TDAPIOLELib.List
Dim otaAttachmentFilter 'As TDAPIOLELib.TDFilter
Dim otaExtendedStorage 'As TDAPIOLELib.ExtendedStorage
Dim strPath 'As String
Set taAttachmentFactory = QCUtil.CurrentTest.Attachments
Set taAttachmentFilter = otaAttachmentFactory.Filter
otaAttachmentFilter.Filter("CR_REFERENCE") = "'TEST_" & QCUtil.CurrentTest.Id & "_" & TDAttachmentName & "'"
Set taAttachmentList = otaAttachmentFilter.NewList
If otaAttachmentList.Count = 1 Then
Set taAttachment = otaAttachmentList.Item(1)
otaAttachment.Load True, ""
strPath = otaAttachment.FileName
ElseIf otaAttachmentList.Count > 1 Then
Reporter.ReportEvent micFail, "Failure in library function 'GetTestAttachmentPath'", _ "Found more than one attachment '" & TDAttachmentName & "' in test '" & _ QCUtil.CurrentTest.Name & "'."
strPath = ""
ElseIf otaAttachmentList.Count < 1 Then
Reporter.ReportEvent micFail, "Failure in library function 'GetTestAttachmentPath'", _ "Found 0 attachments '" & TDAttachmentName & "' in test '" & _ QCUtil.CurrentTest.Name & "'."
strPath = ""
End If
GetTestAttachmentPath = strPath
Set taAttachmentFactory = Nothing
Set taAttachment = Nothing
Set taAttachmentList = Nothing
Set taAttachmentFilter = Nothing
End Function
To get attachment from folder
Public Function GetFolderAttachmentPath(TDAttachmentName, TDFolderPath) 'Returns File Path
'Test Director TDAPIOLELib object variables
Dim otaAttachmentFactory 'As TDAPIOLELib.AttachmentFactory
Dim otaAttachment 'As TDAPIOLELib.Attachment
Dim otaAttachmentList 'As TDAPIOLELib.List
Dim otaAttachmentFilter 'As TDAPIOLELib.TDFilter
Dim otaTreeManager 'As TDAPIOLELib.TreeManager
Dim otaSysTreeNode 'As TDAPIOLELib.SysTreeNode
Dim otaExtendedStorage 'As TDAPIOLELib.TreeManager
Dim intNdId
Dim strPath 'As String
Set taTreeManager = QCUtil.TDConnection.TreeManager
Set taSysTreeNode = otaTreeManager.NodeByPath(TDFolderPath)
Set taAttachmentFactory = otaSysTreeNode.Attachments
Set taAttachmentFilter = otaAttachmentFactory.Filter
intNdId = otaSysTreeNode.NodeID
otaAttachmentFilter.Filter("CR_REFERENCE") = "'ALL_LISTS_" & intNdId & "_" & TDAttachmentName & "'"
Set taAttachmentList = otaAttachmentFilter.NewList
If otaAttachmentList.Count > 0 Then
Set taAttachment = otaAttachmentList.Item(1)
otaAttachment.Load True, ""
strPath = otaAttachment.FileName
Else
Reporter.ReportEvent micFail,"Failure in library function 'GetFolderAttachmentPath'", _ "Failed to find attachment '" & TDAttachmentName & "' in folder '" & TDFolderPath & "'."
End If
GetFolderAttachmentPath = strPath
Set taAttachmentFactory = Nothing
Set taAttachment = Nothing
Set taAttachmentList = Nothing
Set taAttachmentFilter = Nothing
Set taTreeManager = Nothing
Set taSysTreeNode = Nothing
End Function
Learn More On QTP Reusable Function creation codes :
QTP-reusable-functions-codes-5
QTP-reusable-functions-codes-4
QTP-reusable-functions-codes-3
QTP-reusable-functions-codes-2
QTP-reusable-functions-codes-1
-
qtp scripts
2011-10-20 13:54:30
用vbs调qtp
'编写自动执行指定的QTP脚本的VBS:
'利用QTP本身的Quicktest.Application 对象
Dim qtApp
Set qtApp = CreateObject ("Quicktest.Application")
qtApp.Launch
qtApp.Visible = True
qtApp.Open "H:\QTP\QTPscript\Test1"
qtApp.Test.Run ,True'*********************************************************'************************************
' 目的: 查找在UserList数组中出现的第一个指定的用户。
' 输入: strUserList(): 被搜索的用户列表。
' strTargetUser: 待搜索的用户名。
' 返回: 指定为strTargetUser 的用户在strUserList数组中出现的第一个位置,
' 如果目标用户未找到,则返回-1。
'*********************************************************'************************************
Function intFindUser (strUserList(), strTargetUser)
Dim i ' 循环计数器
Dim blnFound ' 目标是否找到的标志
intFindUser = -1
i = 0 ' 初始化循环计数器
Do While i <= Ubound(strUserList) and Not blnFound
If strUserList(i) = strTargetUser Then
blnFound = True ' 设置为True
intFindUser = i ' 赋值为当前循环计数器的值
End If
i = i + 1 ' 计数器加一
Loop
End Function
******************************************************************************************************************'利用DotNetFactory 对象 ,可以创建.NET对象并访问其方法和属性
'Remarks
'You can use this object to access the static methods and properties of a class that does not have an instance constructor,
' for example, System.Environment, as well as a class that does.'CreateInstance方法用于放回.NET对象的COM接口
'Remarks
'If you want to use a .NET object as an argument for a method in QuickTest, you must first create a COM interface for the .NET object
' using the CreateInstance method. Then you pass that interface as the method argument.'CreateInstance 的使用方法如下
'Set var_CreateInstance = DotNetFactory.CreateInstance (TypeName [,Assembly] [,args])
' 其中TypeName为必须输入的参数,是.NET对象类型的全称,例如:System.Windows.Forms.Form
' Assembly是可选的输入参数,如果程序集已经注册,则不需要输入,否则需要输入全名
' args是可选的输入参数,是指定TypeName或Assembly所需的参数'创建Form实例
Set var_CreateInstance = DotNetFactory.CreateInstance("System.Windows.Forms.Form","System.Windows.Forms")
'显示Form实例
var_CreateInstance.Show
' 等待5秒
wait 5
' 关闭Form实例
var_CreateInstance.Close' 调用System.Environment的CurrentDirectory返回当前所在目录
Set var_CreateInstance = DotNetFactory.CreateInstance("System.Environment")
msgbox var_CreateInstance.CurrentDirectory*****************************************************************************************************************************************
' 获取操作系统名称
OS = Environment.Value("OS")
' 获取操作系统版本
OSVersion = Environment.Value("OSVersion")
' 获取测试脚本名
TestName = Environment.Value("TestName")
Reporter.ReportEvent micDone,"Environment","运行测试脚本" &TestName & "的操作系统为:" & OS & "版本为:" & OSVersion
' 设置环境变量MyVariable的值为10
Environment.Value("MyVariable")=10
MyValue=Environment.Value("MyVariable")
MsgBox MyValue************************************************************************************************************************
' 导入外部文件
Environment.LoadFromFile("D:\QTP\C10\EnvironmentObjectTest1\MyVariables.xml")
' 读取其中的环境变量值MyUserName
MyUserName = Environment.Value("MyUserName")
' 读取其中的环境变量值MyPassword
MyPassword= Environment.Value("MyPassword")
' 读取其中的环境变量值MyVariant
MyVariant= Environment.Value("MyVariant")
Reporter.ReportEvent micDone,"读取MyVariables.xml文件","MyUserName = "&MyUserName&",MyPassword = " & MyPassword & ",MyVariant = "&MyVariant
' 读取当前导入的环境变量文件名
fileName = Environment.ExternalFileName
Reporter.ReportEvent micDone,"当前导入的环境变量文件名",fileName
' 如果为空,则导入
If (fileName = "") Then
Environment.LoadFromFile("D:\QTP\C10\EnvironmentObjectTest1\MyVariables.xml")
End If
' 导入后就可以直接使用其中的环境变量
msgbox Environment("MyUserName")*******************************************************************************************************************
ExecuteFile "MyFunctions.vbs"
x = AddTest( 2,2)
Print "调用MyFunctions.vbs中的函数AddTest,返回值为:" & x
*******************************************************************************************************************'声明FindWindow 方法,调用user32.dll中的FindWindowA函数
Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString
'声明SetWindowText 方法
Extern.Declare micLong, "SetWindowText", "user32.dll", "SetWindowTextA", micHwnd, micString
'获取记事本的窗口句柄
hwnd = Extern.FindWindow("Notepad", vbNullString)
if hwnd = 0 then
MsgBox "未能找到记事本窗口!"
end if
'改变记事本窗口的标题
res = Extern.SetWindowText(hwnd, "Hello World!")
****************************************************************************************************************' 查找文件,返回文件所在的全路径
x=PathFinder.Locate ("Parameters.mtr")
MsgBox x
' 下面查找的文件位于C:\Windows\System32目录中
y= PathFinder.Locate ("user32.dll")
MsgBox y
*******************************************************************************************************************
' 定位到Flights Table窗口的WinList控件
Set FlightsList = Window("Flight Reservation").Dialog("Flights Table").WinList("From")
' 获取WinList控件中的所有项,并通过Print方法显示出来
For i = 1 to FlightsList.GetItemsCount
Print FlightsList.GetItem(i - 1)
NextDim str
' 定位到Flights Table窗口的WinList控件
Set FlightsList = Window("Flight Reservation").Dialog("Flights Table").WinList("From")
' 获取WinList控件中的所有项,并通过Print方法显示出来
For i = 1 to FlightsList.GetItemsCount
str = str + FlightsList.GetItem(i - 1)+ vbCRLF
Next
MsgBox str*****************************************************************************************************************************
Reporter.ReportEvent micDone,"Start Act
ion1 ...","开始运行Act ion1测试脚本."
Reporter.ReportEvent micDone,"Action1 Testing...","Act ion1测试中..."
Reporter.ReportEvent micDone,"End Action1","Act ion1测试结束"
*****************************************************************************************************************' 获取名为IterNumber的环境变量的值
IterNumber = Environment.Value("IterNumber")
' 如果返回值小于20,则设置环境变量值为20
If IterNumber < 20 Then
Environment.Value("IterNumber") = 20
End If
Msgbox Environment.Value("IterNumber")
' 相当于临时的全局变量
With Setting
' 判断名为IterNumber的Item是否存在,如果不存在,则添加一个,并且设置其值为1
If Not .Exists("IterNumber") then
.Add "IterNumber",1
' 如果存在,则把其值累加1
Else
.Item("IterNumber")=.Item("IterNumber")+1
End if
End With
Msgbox Setting("IterNumber")****************************************************************************************************************
' 设置QTP在判断一个对象是否存在的最大时间
Milliseconds = 30000
Setting("DefaultTimeout") = Milliseconds' 获取DefaultTimeout
DefaultTimeout=Setting("DefaultTimeout")
If DefaultTimeout < 50000 Then
MsgBox (DefaultTimeout)
Milliseconds = 50000
Setting("DefaultTimeout") = Milliseconds
End If******************************************************************************
ConnectionString = "Da
ta Source=.;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;PassWord="
Set SqlConnection = DotNetFactory.CreateInstance("System.Data.SqlClient.SqlConnection","System.Da ta",ConnectionString) SqlConnection.Open
Set SqlCommand = DotNetFactory.CreateInstance("System.Da
ta.SqlClient.SqlCommand","System.Da ta","Select * from Orders",SqlConnection)
Set SqlDataAdapter= DotNetFactory.CreateInstance("System.Data.SqlClient.SqlDataAdapter","System.Da ta",SqlCommand)
Set DataSet = DotNetFactory.CreateInstance("System.Data.DataSet","System.Da ta")
SqlDataAdapter.Fill DataSetSqlConnection.Close
MsgBox DataSet.Tables.get_Item(0).Rows.Count
MsgBox DataSet.Tables.get_Item(0).Rows.get_Item(0).ItemArray.Length******************************************************************************
' 打开Windows计算器
SystemUtil.Run "calc"
' 使用Windows默认的文本编辑器打开某个文本文件
SystemUtil.Run "C:\type.txt", "", "", "",3******************************************************************************
Rem 定位到登录窗口
Dialog("Login").ActivateDialog("Login").Activate ' 定位到登录窗口
Dialog("Login").WinEdit("Agent Name:").Set "MERCURY" ' 输入代理机构名称
Dialog("Login").WinEdit("Password:").SetSecure "47cd0fce1ff0eb2a7823682a4e90d4b57aa62c89" ' 输入密码
Dialog("Login").WinButton("OK").Click ' 确认登录******************************************************************************
' 使用XMLUtil对象的CreateXML方法来创建XMLData对象
Set doc = XMLUtil.CreateXML()
' 加载XML文件用于检查
doc.LoadFile "Test.XML"
'检查XML文档是否满足指定的XML schema
ans = doc.Validate ("D:\Program Files\Mercury Interactive\QuickTest Professional\dat\ObjectRepository.xsd")
'如果检查满足Schema,则提示检查成功,否则列出不满足的原因
If ans Then
MsgBox "XML文件匹配指定的Schema!"
else
errNo = doc.GetValidationErrorsNumber
For i = 1 to errNo
errStr = doc.GetValidationError(i)
MsgBox errStr
Next
End If******************************************************************************
' 创建Clipboard对象
Set MyClipboard = CreateObject("Mercury.Clipboard")
' 清空Clipboard中的所有数据
MyClipboard.Clear
' 设置Clipboard中的文本为“TEST”
MyClipboard.SetText "TEST"
' 获取Clipboard中的文本
MsgBox MyClipboard.GetText******************************************************************************
' 使用CheckProperty检查控件的属性是否与指定的值相一致
If Dialog("Login").WinEdit("Agent Name:").CheckProperty("text","MERCURY") then
' 如果一致,则在测试结果中标识为Pass
Reporter.ReportEvent micPass,"Agent Name", "Agent Name 输入框的值为 'MERCURY' "
Else
' 否则标识为Fail
Reporter.ReportEvent micFail ,"Agent Name", "Agent Name 输入框的值不等于 'MERCURY' "
End If******************************************************************************
Desktop.CaptureBitmap "C:\TestCaptureBitmap.bmp",true
' 创建描述对象
Set bjDesc = Description.Create()
' 指定为标题为"无标题 - 记事本"的对象
objDesc("text").Value = "无标题 - 记事本"
' 通过Desktop对象的ChildObjects方法获取当前桌面中所有名为“无标题 - 记事本”的窗口
Set bjectCollection = Desktop.ChildObjects(objDesc)
MsgBox ObjectCollection.Count
******************************************************************************
' 激活窗口
Window("Flight Reservation").Activate
' 选择菜单
Window("Flight Reservation").WinMenu("Menu").Select "File;Fax Order..."
' 运行名为“Track1”的Analog脚本
Desktop.RunAnalog "Track1"
******************************************************************************' 判断某个控件是否存在
If Dialog("Login").Exist(3) Then
MsgBox ("Login窗口存在.")
Else
MsgBox ("Login窗口不存在.")
End If******************************************************************************
Dim LoginTitle
Dialog("Login").Activate
' 获取Login窗口的标题
LoginTitle = Dialog("Login").GetROProperty("text")
Msgbox LoginTitle******************************************************************************
'Dialog("Login").Activate
'Dialog("Login").Static("Static").Check CheckPoint("Static")
'' 单击OK按钮
'Dialog("Login").WinButton("OK").Click 5,5'' 设置日期
'Window("我的电脑").WinCalendar("SysDateTimePick32").SetDate "3-Mar-2008"
'Window("我的电脑").WinCalendar("SysDateTimePick32_2").SetDate "4-Mar-2008"
'' 设置为当天日期
'Window("我的电脑").WinCalendar("SysDateTimePick32").SetDate Date'' 定位到Open Order窗口
'Window("Flight Reservation").Dialog("Open Order").Activate
'' 把Customer Name选择框勾选上
'Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"
'Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set "CNJ"'' 从下拉框中选择起飞地点
'Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
'' 从下拉框中选择终点
'Window("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt"
'Window("Flight Reservation").WinButton("FLIGHT").Click
'
'' 获取下拉框中的所有项总数
'MsgBox Window("Flight Reservation").WinComboBox("Fly To:").GetItemsCount'' 从下拉框Index获取对应的内容
'ItemStr = Window("Flight Reservation").WinComboBox("Fly To:").GetItem(1)
'If ItemStr="Denver" Then
' Msgbox "OK"
' Else
' Msgbox ItemStr
'End If'' 定位到记事本的窗口
'Window("记事本").Activate
'' 最大化记事本的窗口
'Window("记事本").Maximize
'' 恢复记事本窗口大小
'Window("记事本").Restore'' 获取记事本窗口的标题
'Msgbox Window("记事本").GetROProperty("text")'' 在Name输入框中输入文本“CNJ”
'Window("Flight Reservation").WinEdit("Name:").Set "CNJ"'Dialog("Login").Activate
'Dialog("Login").WinEdit("Agent Name:").Set "MERCURY"
'' 在Password输入框中输入加密后的密码字符串
'Dialog("Login").WinEdit("Password:").SetSecure "47d0bb547b92729a4951b5e2fd088faed8c80334"
'Dialog("Login").WinButton("OK").Click'' 往记事本中输入一段文字
'Window("记事本").WinEditor("Edit").Type "1234567890ABCDEFG"
'' 然后键入“Enter”键
'Window("记事本").WinEditor("Edit").Type micReturn
'Window("Flight Reservation").Dialog("Flights Table").Activate
'' 选择WinList列表中的某项内容,通过名称指定
'Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "15797 DEN 08:00 AM FRA 08:45 AM AA $104.60"
'Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
'
'Window("Flight Reservation").Dialog("Flights Table").Activate
'' 选择WinList列表中的某项内容,通过名称指定
'Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select 2
'Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click'' 通过名称指定选择SysListView32中的某项内容
'Window("我的电脑_2").WinListView("SysListView32").Select "本地磁盘 (C:)"
'' 通过Index指定选择SysListView32中的某项内容
'Window("我的电脑_2").WinListView("SysListView32").Select 2'' 模拟用户按下CTRL键进行多选
'Window("我的电脑_3").WinListView("SysListView32").Select "本地磁盘 (C:)"
'Window("我的电脑_3").WinListView("SysListView32").ExtendSelect "本地磁盘 (D:)"
'Window("记事本").Activate
'' 通过指定菜单名称来选择菜单
'Window("记事本").WinMenu("Menu").Select "文件(F);新建(N) Ctrl+N"
'
'' 通过指定菜单Index来选择菜单
'Window("记事本").WinMenu("Menu").Select "<Item 1>;<Item 2>"'MenuPath = Window("记事本").WinMenu("Menu").BuildMenuPath("文件(F)","新建(N) Ctrl+N")
' Window("记事本").WinMenu("Menu").Select MenuPath
'
'MenuPath = Window("记事本").WinMenu("Menu").BuildMenuPath(1,2)
' Window("记事本").WinMenu("Menu").Select MenuPath
'Window("Flight Reservation").Activate
'' 选择“First”选项
'Window("Flight Reservation").WinRadioButton("First").Set'Window("Book1").Activate
'Window("Book1").WinScrollBar("ScrollBar").NextLine 1
'
'Window("Book1").Activate
'Window("Book1").WinScrollBar("ScrollBar").NextPage 1'Window("Book1").Activate
'' 获取ScrollBar的maxscrollpos属性
'max = Window("Book1").WinScrollBar("ScrollBar").GetROProperty("maxscrollpos")
'' 设置滚动条位置为中间
'pos = max/2
'Window("Book1").WinScrollBar("ScrollBar").Set pos
'Dialog("日期和时间 属性").Activate
'' 如果是2008年,则往后选择
'If Dialog("日期和时间 属性").WinEdit("Edit").GetROProperty("text") = 2008 then
' Dialog("日期和时间 属性").WinSpin("msctls_updown32").Next
'end if
'
'' 直接把日期设置到1997年
' Dialog("日期和时间 属性").WinSpin("msctls_updown32").Set 1997
'Status =Window("记事本").WinStatusBar("msctls_statusbar32").GetContent
'Msgbox Status'' 使用GetItemsCount方法获取到状态栏部分的个数
'StatusItemCount = Window("C:\").WinStatusBar("msctls_statusbar32").GetItemsCount
'' 循环取得每一个部分的状态栏信息
'For I = 0 to StatusItemCount -1
' StatusItem = Window("C:\").WinStatusBar("msctls_statusbar32").GetItem(I)
' Msgbox StatusItem
'Next'Dialog("日期和时间 属性").WinTab("SysTabControl32").Select "时区"
'Dialog("日期和时间 属性").WinTab("SysTabControl32").Select "Internet 时间"
'Dialog("日期和时间 属性").WinTab("SysTabControl32").Select "时间和日期"
'
'Dialog("日期和时间 属性").WinTab("SysTabControl32").Select 1
'Dialog("日期和时间 属性").WinTab("SysTabControl32").Select 2
'Dialog("日期和时间 属性").WinTab("SysTabControl32").Select 0''选择第二个页签
'Dialog("日期和时间 属性").WinTab("SysTabControl32").Select 1
'' 通过GetSelection方法获取当前所选的页签名称
'SelectedTab = Dialog("日期和时间 属性").WinTab("SysTabControl32").GetSelection
'Reporter.ReportEvent micDone,"目前选择的Tab页是: ",SelectedTab'Window("C:\").WinToolbar("ToolbarWindow32").Press "向上"
'Window("我的电脑").WinToolbar("ToolbarWindow32").Press "后退"
'Window("C:\").WinToolbar("ToolbarWindow32").Press "搜索"'Window("C:\").WinToolbar("ToolbarWindow32").Press 3
'Window("我的电脑").WinToolbar("ToolbarWindow32").Press 1
'Window("C:\").WinToolbar("ToolbarWindow32").Press 4'' 在资源管理器中选择某个磁盘
'Window("我的电脑").WinTreeView("SysTreeView32").Select "桌面;我的电脑"
'Window("我的电脑").WinTreeView("SysTreeView32").Select "桌面;我的电脑;本地磁盘 (C:)"'' 依次展开“我的电脑”、“本地磁盘 (C:)”节点
'Window("我的电脑").WinTreeView("SysTreeView32").Expand "桌面;我的电脑"
'Window("我的电脑").WinTreeView("SysTreeView32").Expand "桌面;我的电脑;本地磁盘 (C:)"'Window("我的电脑").WinTreeView("SysTreeView32").ExpandAll "桌面;我的电脑;本地磁盘 (C:)"
'Window("我的电脑").WinTreeView("SysTreeView32").Collapse "桌面;我的电脑;本地磁盘 (C:)"
*************************************************************************
标题搜索
我的存档
数据统计
- 访问量: 15162
- 日志数: 32
- 建立时间: 2007-07-26
- 更新时间: 2012-12-27
清空Cookie - 联系我们 - 51Testing软件测试网 - 交流论坛 - 空间列表 - 站点存档 - 升级自己的空间
Powered by 51Testing
© 2003-2021
沪ICP备05003035号