51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2815|回复: 8
打印 上一主题 下一主题

[原创] QTP怎么实现复选框随机功能

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-12-9 13:30:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
网上的朋友和论坛的人都说过也讨论过这方法,但是还是不行啊,首先我的WebCheckBox没有ChildCount方法,其次我知道要用RandomNumber()函数,但是具体的就是不知道怎么实现,哪位高手能不能帮我写一段代码这样随机复选框代码啊!就像下面图中三个按钮随机选择啊,
代码:Browser("收发管理系统").Window("选择送检设备 -- 网页对话框").Page("选择送检设备").Frame("ls").WebCheckBox("equids").Set "ON"
怎么在这段代码中加上随机复选框啊,求教高手!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2010-12-13 00:05:44 | 只看该作者
谢谢各位前辈的指点!
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

7#
发表于 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
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-12-10 10:26:09 | 只看该作者
前辈,这个方法还是不行,我能问下你怎么“遍历所有复选框”啊?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-12-9 23:24:12 | 只看该作者
因为 这个还涉及到分页,所以
分页的东西 自己搞吧
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 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
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-12-9 21:26:23 | 只看该作者
瑟...2楼的你说的简单喔,我还晓得这样,但是具体代码怎么写?
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2010-12-9 18:53:37 | 只看该作者
这个问题很简单嘛
找到第一列的内容,随机点击就ok了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-18 08:37 , Processed in 0.089725 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表