如何使用QTP识别JavaTable中的JavaCheckBox
在JavaTable内置一个JavaCheckBox,只有选择框被勾选才能执行后续操作,目前,使用QTP SPY只能识别到JavaTable,而JavaTable表中内置的选择框以及JavaTree的属性查看不到。 测试界面本身就是一个Java得,而不是WEB。。。。急啊,各位大神们赶紧帮帮我啊。 我用了一种取巧的方法, 就是通过发送 TAB键移动到特定的cell,然后发送Space键, 选择checkbox。确实table里的checkbox不能直接找到, 不知道用tbl.childObjects能不能找出? 回复 2# lifr
我试了你的方法,但是行不通,用tab键这个方法不行。。不过还是谢谢,继续坐等大神回帖 看来大神很少逛论坛呐~ 看来大神很少逛论坛呐~ 通常javatable都支持tab在cell间转移, 你手动测试过不支持吗?
我用的Wscript来发送键盘事件. 回复 6# lifr
你说的方式就是用wshshell.sendkeys这个方法吧~我这边是javatable中嵌套了一个javacheckbox,用QTP工具根本就识别不了,后面修改tools中的录制设置,基本上还是没用。childobject也用了:
Dim oCheckBox,counts,n
Set oCheckBox = Browser("UFIDA New Century").Page("UFIDA New Century").ActiveX("Java Plug-in 1.5.0_07").JavaApplet("AppletContainer").JavaTable("BillScrollPane$BillTable").ChildObjects(ojavaChkDesc)
counts=oCheckBox.count
msgbox counts
弹出counts=0。。。。 我知道webtable里面有个childitem可以获取table里面的控件,不知道javatable有没有这个方法! 回复 9# 加Q904022621
这个问题还没解决呢,感谢我个啥~ 回复 7# pestyy
如果手动验证支持tab键切换, 还是可以想办法. 如果不支持, 那就真没啥招了.
Set tbl = ...
tbl.ClickCell 1, 1
SendKey "{TAB}"
Function SendKey(keyValue)
Dim WshShell
set WshShell = CreateObject("Wscript.Shell")
WshShell.SendKeys keyValue
wait(1)
Set WshShell = Nothing
End Function 利用javatable的clickcell进行操作 我感觉还是用JavaTable(XXX)。ChildItem这个方法吧,应该支持的 刚才说的不对,你可以参考下面这段代码,希望对你有帮助
Sub ChildObjects_Example()
Set Desc = Description.Create()
Desc("to_class").Value = "JavaList"
Desc("enabled").Value = 1
Set Lists = JavaWindow("SwingSet").ChildObjects(Desc)
For i = 0 To Lists.Count - 1
Lists(i).Select 0
Next
End Sub 本帖最后由 csj 于 2012-5-17 15:28 编辑
还有这段代码,这个方法主要用到ClickCell这个方法
Sub ClickCell_Example()
Browser("SwingSet demo").Page("SwingSet demo").JavaApplet("SwingSetApplet").JavaTable("Inter-cell spacing:").ClickCell 2, "Last Name", "LEFT", "SHIFT"
End Sub
当然还可以尝试
object.DoubleClickCell Row, Col, [MouseButton], [Modifier]这个方法 之前那个项目已经做完了。。不过还是感谢sky大神。。
页:
[1]