51Testing软件测试论坛

标题: 每次循环要选择不同数量的编辑框输入数据,怎么处理? [打印本页]

作者: jxt    时间: 2007-9-14 14:14
标题: 每次循环要选择不同数量的编辑框输入数据,怎么处理?
现在我想在每次循环选择不同数量的编辑框怎么解决???
比如我第一次循环页面中有2个编辑框我全部输入数据,第2次循环页面有4个编辑框我也要全部输入数据,这时候我该怎么办?
谢谢大家了!!
相关代码如下
'Browser("xxx").Page("xxx").Frame("MainFrame_9").WebEdit("ID_IncomePayDoc$TransItemsList_2").Set "100"

[ 本帖最后由 jxt 于 2007-9-14 15:03 编辑 ]
作者: ls_721521    时间: 2007-9-14 14:15
还有个问题:QTP8.2有中文版的吗?
作者: ls_721521    时间: 2007-9-14 14:16
不好意思.我发错地方了...
作者: rivermen    时间: 2007-9-14 14:21
for i=1 to 10   
     for j=1 to i
           选择一个未被选中的复选框
           ......

     next
next
作者: lengz    时间: 2007-9-14 15:49
首先是要确定页面有几个需要输入的编辑框,我能想到的有两种情况,一种是存在有规律的编辑框属性,如ID_IncomePayDoc$TransItemsList_1到ID_IncomePayDoc$TransItemsList_4,那用GetROProperty就能取到编辑框的总数,另一种是所有的编辑框有一个相同的属性,比如name:=WebEditname,那可能麻烦点,
                Dim WebEdit_num
                Set desc = Description.Create()
                desc("micclass").Value = "WebEdit"
                desc("name").Value = "WebEditname"
                WebEdit_num=Browser("Browser").Page("url:=.*").ChildObjects(desc).

上边代码中WebEdit_num的值就是WebEdit的总数了,
然后作循环就可以了,顶多是加个INDEX:=N就行了,


以上代码没有在qtp上跑过,可能不对,有错误的地方大家海涵啊~
作者: sterson    时间: 2007-9-14 16:05
dim i , isNext
i=1
isNext=true
do while (isNext)
   select case i
      case 1: call SetTwoEdit()   '编辑两个编辑框
      case 2: call SetForeEdit()   '编辑四个编辑框
   end select
   i=i+1
loop
sub SetTwoEdit()
  'do something here
  isNext=true
end sub

sub SetForeEdit()
  'do something here
   isNext=false    '退出循环
end sub
作者: jxt    时间: 2007-9-14 16:22
楼上我刚才是举的例子,实际中每次循环编辑框的数量是不定的!!用case恐怕不行!!!
作者: sterson    时间: 2007-9-14 16:30
哦..那可以参考我楼上的lengz 的方法..
作者: hsjzfling    时间: 2007-9-14 17:25
Set desc = Description.Create()
desc("micclass").Value = "WebEdit"
Set EditCollection = Browser("xxx").Page("xxx").Frame("MainFrame_9").ChildObjects(desc)
NumberOfEdits = EditCollection.Count
For i = 0 To NumberOfEdits - 1
   EditCollection(i).Set "100"
Next

[ 本帖最后由 hsjzfling 于 2007-9-14 17:27 编辑 ]
作者: 夜来烧    时间: 2007-9-14 18:13
原帖由 hsjzfling 于 2007-9-14 17:25 发表
Set desc = Description.Create()
desc("micclass").Value = "WebEdit"
Set EditCollection = Browser("xxx").Page("xxx").Frame("MainFrame_9").ChildObjects(desc)
NumberOfEdits = EditCollection.Count
...


这样基本就可以了,将Browser("xxx").Page("xxx").Frame("MainFrame_9")替换为实际需要自动填写的页面就可以了,赞个
作者: zhangj8826    时间: 2007-9-17 15:39
sdlkfj2
作者: jxt    时间: 2007-9-17 20:37
还有一个复选框的问题:我知道解决的方法和编辑框类似,可是怎么都没有调试通过!!!!!
我录制原始的脚本如下

'Browser("XXX").Page("XXX").Frame("MainFrame_39").WebCheckBox("ID___ViewsIncomeManage_UserCon").Set "ON"
'Browser("XXX").Page("XXX").Frame("MainFrame_40").WebCheckBox("ID___ViewsIncomeManage_UserCon").Set "ON"
'Browser("XXX").Page("XXX").Frame("MainFrame_41").WebCheckBox("ID___ViewsIncomeManage_UserCon").Set "ON"
'Browser("XXX").Page("XXX").Frame("MainFrame_42").WebCheckBox("ID___ViewsIncomeManage_UserCon").Set "ON"
'Browser("XXX").Page("XXX").Frame("MainFrame_43").WebCheckBox("ID___ViewsIncomeManage_UserCon").Set "ON"
修改成

Dim objDesc, objWCBs, i, iCount
Set objDesc = Description.Create()
objDesc("micclass").Value = "WebCheckbox"
Set objWCBs = Browser("XXX").Page("XXX").ChildObjects(objDesc)
iCount = objWCBs.Count
For i = 0 To iCount - 1
    objWCBs(i).Set "ON"
Next
执行完后,复选框一个都没有被选中!!!!!是怎么回事呀!!!!谢谢!!!

[ 本帖最后由 jxt 于 2007-9-17 20:39 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2