mycattish 发表于 2010-12-9 13:30:22

QTP怎么实现复选框随机功能

网上的朋友和论坛的人都说过也讨论过这方法,但是还是不行啊,首先我的WebCheckBox没有ChildCount方法,其次我知道要用RandomNumber()函数,但是具体的就是不知道怎么实现,哪位高手能不能帮我写一段代码这样随机复选框代码啊!就像下面图中三个按钮随机选择啊,
代码:Browser("收发管理系统").Window("选择送检设备 -- 网页对话框").Page("选择送检设备").Frame("ls").WebCheckBox("equids").Set "ON"
怎么在这段代码中加上随机复选框啊,求教高手!!!

sunnyswu 发表于 2010-12-9 18:53:37

这个问题很简单嘛
找到第一列的内容,随机点击就ok了

mycattish 发表于 2010-12-9 21:26:23

瑟...2楼的你说的简单喔,我还晓得这样,但是具体代码怎么写?

sunnyswu 发表于 2010-12-9 23:23:15

写个伪代码给你
首先 这个table应该可以获取吧,如果不能获取,或者是div
这个 就得使用dom了,baidu一下吧
rownum = mytable.getroproperty("rows")
colnum = mytable.getroproperty("cols")
for i = 2 to rownum
   Randomize
   ischeck = rnd
   if ischek > 0.5 then ' 这里可以调整一下概率
   mytable.childitem(i, 1, "webcheckbox", 0).set "on" ‘选择第一列所有的webcheckbox 这个不难吧
   end if
next

sunnyswu 发表于 2010-12-9 23:24:12

因为 这个还涉及到分页,所以
分页的东西 自己搞吧

mycattish 发表于 2010-12-10 10:26:09

前辈,这个方法还是不行,我能问下你怎么“遍历所有复选框”啊?

sunnyswu 发表于 2010-12-11 21:39:54

之所以 回复你,是让你知道,有了问题 要想办法解决!
贴代码,,不过 可能你那个是有点麻烦,不过不清楚的
Set mytable = Browser("title:=.*.*").Page("title:=.*.*").webtable("index:=0")
rownum = mytable.GetROProperty("rows")
colnum = mytable.GetROProperty("cols")
colcheckid = 0
colidoper = 0
For i = 1 to colnum
    cellinfo = mytable.getcelldata(1, i)
    If trim(mytable.getcelldata(1, i)) = "操作"Then
      colidoper = i
      Exit for
    End If
Next
For i = 2 to rownum - 1
    operinfo = mytable.ChildItem(i, colidoper, "Link", 1).getroproperty("innertext")
    If trim(operinfo) = "补贴邮票" Then
      mytable.ChildItem(i, 1, "WebCheckBox", 0).set "ON"
    End If
Next

dreamever 发表于 2010-12-12 12:36:08

我觉的对问题的讨论还是应该重思路而轻实现。
对于随机选择复选框的问题处理起来应该不是很难;
1、首先获取当前页面中所有的复选框,如果不知道如何获取的话,建议查一下QTP的API文档;
2、获取随机数k,如果有N个复选框,那么就写代码实现从0到n-1之间任意一个随机数,具体的代码可以百度:VBS 随机数,要代码有代码,要分析有分析;
3、执行第K个复选框的点击
如果感觉这样的回答对你没什么用处,那就直接忽略吧。

mycattish 发表于 2010-12-13 00:05:44

谢谢各位前辈的指点!:)
页: [1]
查看完整版本: QTP怎么实现复选框随机功能