对于逐个录制的WebCheckBox脚本展示如下:
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebCheckBox("customerBusinessType").set "on"
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebCheckBox("customerBusinessType_2").set "on"
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebCheckBox("customerBusinessType_3").set "on"
可以通过ChildObjects Method方法返回WebCheckBox列表中的所有子对象。前提:Object Repository中存在该WebCheckBox
Description:Returns the collection of child objects contained within the object.
--------------------------------------------------------------------------------
方案1:
Dim objDesc, objWCBs, i, iCount
Set bjDesc = Description.Create()
objDesc("micclass").Value = "WebCheckBox"
objDesc("name").value = "customerBusinessType"
Set bjWCBs = Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").ChildObjects(objDesc)
iCount = objWCBs.Count
For i = 0 To iCount - 1
objWCBs(i).Set "ON"
Next
'Actions statements
'遍历所有选择框,并且状态全部设置为ON。
'该方法存在的不足在于,选择框的遍历在循环内部,如果需要单个选择,比如,向循环内部插入
其他动作,第一次循环后会出现无法找到对象的错误。
--------------------------------------------------------------------------------
方案2:
在方案的基础上对于选择框的动作采用Description Properties。修改后的脚本如下:
Dim objDesc, objWCBs, i, iCount
Set bjDesc = Description.Create()
objDesc("micclass").Value = "WebCheckBox"
objDesc("name").value = "customerBusinessType"
Set bjWCBs = Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").ChildObjects(objDesc)
iCount = objWCBs.Count
For i = 0 To iCount - 1
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebCheckBox("name:=customerBusinessType", "index:=" &i).Click
'Actions statements
Next
'该方案中,选择框的选择(逐个选择)和其他动作平行。
--------------------------------------------------------------------------------
方案3:
For i =0 to 2 '循环的范围自定义,比如通过
数据库表去选择框的个数总和。
set bjDesc = Description.Create()
objDesc("index").value = i
objDesc("micclass").value="WebCheckBox"
objDesc("name").value="customerBusinessType"
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebCheckBox(objDesc).click
'Actions statements
Next
'和方案2类似,通过index+micclass+name做唯一标识。注意方案2中WebCheckBox("name:=customerBusinessType", "index:=" &i).
'Highlight被选的选择框
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebCheckBox("name:=customerBusinessType", "index:=" &i).highlight
'判断是否被选中
if Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebCheckBox("name:=customerBusinessType", "index:=" &i).getroproperty("checked") = 1 then
msgbox "True"
end if