pestyy 发表于 2012-5-9 18:46:50

如何使用QTP识别JavaTable中的JavaCheckBox

在JavaTable内置一个JavaCheckBox,只有选择框被勾选才能执行后续操作,目前,使用QTP SPY只能识别到JavaTable,而JavaTable表中内置的选择框以及JavaTree的属性查看不到。 测试界面本身就是一个Java得,而不是WEB。。。。急啊,各位大神们赶紧帮帮我啊。

lifr 发表于 2012-5-9 20:28:33

我用了一种取巧的方法, 就是通过发送 TAB键移动到特定的cell,然后发送Space键, 选择checkbox。

确实table里的checkbox不能直接找到, 不知道用tbl.childObjects能不能找出?

pestyy 发表于 2012-5-10 08:12:18

回复 2# lifr


   我试了你的方法,但是行不通,用tab键这个方法不行。。不过还是谢谢,继续坐等大神回帖

pestyy 发表于 2012-5-10 11:18:21

看来大神很少逛论坛呐~

pestyy 发表于 2012-5-10 11:18:29

看来大神很少逛论坛呐~

lifr 发表于 2012-5-10 21:03:05

通常javatable都支持tab在cell间转移, 你手动测试过不支持吗?

我用的Wscript来发送键盘事件.

pestyy 发表于 2012-5-11 08:37:13

回复 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。。。。

lifreshman0626 发表于 2012-5-11 08:50:32

我知道webtable里面有个childitem可以获取table里面的控件,不知道javatable有没有这个方法!

pestyy 发表于 2012-5-11 13:36:39

回复 9# 加Q904022621


    这个问题还没解决呢,感谢我个啥~

lifr 发表于 2012-5-12 07:29:41

回复 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

power911 发表于 2012-5-14 09:54:07

利用javatable的clickcell进行操作

csj 发表于 2012-5-17 15:14:09

我感觉还是用JavaTable(XXX)。ChildItem这个方法吧,应该支持的

csj 发表于 2012-5-17 15:22:10

刚才说的不对,你可以参考下面这段代码,希望对你有帮助
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:25:52

本帖最后由 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]这个方法

pestyy 发表于 2012-6-5 09:36:40

之前那个项目已经做完了。。不过还是感谢sky大神。。
页: [1]
查看完整版本: 如何使用QTP识别JavaTable中的JavaCheckBox