51Testing软件测试论坛

标题: 请教QTP对下拉菜单组合的测试问题。 [打印本页]

作者: liuliu1824    时间: 2007-11-6 20:28
标题: 请教QTP对下拉菜单组合的测试问题。
我是做网站测试的,在测试的时候经常会遇到下拉菜单的组合测试,用QTP测这个的时候我先把录制的下拉菜单各个都参数化,再在下面的Global表里手工写组合,这样太麻烦了。请问有没有好的方法或设置让QTP自己排列组合呀?
作者: hsjzfling    时间: 2007-11-6 21:11
先看看你的下拉菜单是什么对象,一般情况下为WebList(也有用WebEdit对象的。。。)
若是WebList对象,则可以用.Select index的方法来选择Item,然后用嵌套的循环来遍历每种组合,例如:

For iA = 0 to ListA_Count-1
        Browser().Page().WebList().Select "#" & iA
        ..............
        For  iB = 0 to ListB_Count-1
                Browser().Page().WebList().Select "#" & iB
                ..............
                For ..............
                        ................
                        ................
                Next        
                ...............
        Next
        .............
Next

[ 本帖最后由 hsjzfling 于 2007-11-6 21:15 编辑 ]
作者: liuliu1824    时间: 2007-11-7 12:06
谢谢楼上的朋友,我可以做到在下拉菜单中任选一项了,但是只运行一遍,怎么嵌套循环呀?
作者: hsjzfling    时间: 2007-11-7 13:38
标题: 回复 3# 的帖子
在2楼不是给了你用For循环嵌套的模板么。。。
而且你还是没说你的下拉菜单是什么对象
作者: liuliu1824    时间: 2007-11-7 14:31
是WebList的,我按你的模板编好后只执行一次啊。
作者: hsjzfling    时间: 2007-11-7 15:16
你的ListA_Count   ListB_Count 等等赋过值么?
ListA_Count = xxxxx.WebList("ListA").GetROProperty("items count")
ListB_Count = xxxxx.WebList("ListB").GetROProperty("items count")
......
作者: liuliu1824    时间: 2007-11-7 17:24
ListA_Count = 2.WebList("ListA").GetROProperty("items count")
ListB_Count = 2.WebList("ListB").GetROProperty("items count")
ListC_Count = 2.WebList("ListC").GetROProperty("items count")
ListD_Count = 1.WebList("ListD").GetROProperty("items count")
For iA=0 to ListA_Count2
        Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("field").Select "#" & iA

    For iB=0 to ListB_Count2
        Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("display").Select "#" & iB

        For iC=0 to ListC_Count2
                Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("pagesize").Select "#" & iC

            For iD=0 to ListD_Count1
                    Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("mode").Select "#" & iD
            Next
            Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
             Next
         Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
    Next
    Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
Next
Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区__2").Sync

我是这样写的,应该不对吧,运行不了啊,你帮我看看哪里不对呀。
作者: jackymail    时间: 2007-11-7 17:32
ListA_Count = 2.WebList("ListA").GetROProperty("items count")



For iA=0 to ListA_Count2
        Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("field").Select "#" & iA
ListB_Count = 2.WebList("ListB").GetROProperty("items count")
    For iB=0 to ListB_Count2
        Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("display").Select "#" & iB
ListC_Count = 2.WebList("ListC").GetROProperty("items count")
        For iC=0 to ListC_Count2
                Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("pagesize").Select "#" & iC
ListD_Count = 1.WebList("ListD").GetROProperty("items count")
            For iD=0 to ListD_Count1
                    Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("mode").Select "#" & iD
            Next
            Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
             Next
         Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
    Next
    Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
Next
Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区__2").Sync
作者: liuliu1824    时间: 2007-11-7 17:43
楼上的朋友,我用你的方法还是运行不了啊,提示语句错误!
作者: hsjzfling    时间: 2007-11-7 18:51
ListA_Count = 2.WebList("ListA").GetROProperty("items count")
中间的2是什么。。。你得把对象写全啊。。。。
改为
ListField_Count = Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("field").GetROProperty("items count")
以下类同

[ 本帖最后由 hsjzfling 于 2007-11-7 19:00 编辑 ]
作者: liuliu1824    时间: 2007-11-8 12:14
按照你那样写还是只运行一遍呀,你能不能按我上传的例子写个完整的脚本呀?要遍历所有组合的那种,我是初学者,可能有的地方搞错了,真是麻烦你了。或者去http://club.2008.cctv.com/gallery/main/  
这个网站录下,然后编完脚本后传个上来,谢谢啦!
作者: liuliu1824    时间: 2007-11-8 18:26
ListA_Count2=2
ListB_Count2=2
ListC_Count2=2
ListD_Count1=1
For iA=0 to ListA_Count2
        Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("field").Select "#" & iA

    For iB=0 to ListB_Count2
        Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("display").Select "#" & iB

        For iC=0 to ListC_Count2
                Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("pagesize").Select "#" & iC

            For iD=0 to ListD_Count1
                    Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("mode").Select "#" & iD
                                Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
            Next
            Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
             Next
         Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
    Next
    Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebButton("浏览设置").Click
Next

Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区__2").Sync


我现在是这样写的,也不知道对不对,等待高手指点。顺便说下怎么让运行完后把组合列在数据表里!
作者: danmy    时间: 2007-11-9 09:14
懒惰是学不了什么东西d
作者: liuliu1824    时间: 2007-11-9 10:09
我都尝试无数变了,还懒惰?
作者: caodongjian    时间: 2007-11-9 16:33
我好像试了.可以啊
作者: liuliu1824    时间: 2007-11-12 22:14
原帖由 hsjzfling 于 2007-11-7 18:51 发表
ListA_Count = 2.WebList("ListA").GetROProperty("items count")
中间的2是什么。。。你得把对象写全啊。。。。
改为
ListField_Count = Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CC ...


谁能有这种方法帮我写个具体的脚本呀?我是初学者,可能哪个地方理解错误,自己改了几遍都不能运行。
作者: sogoc    时间: 2007-11-12 22:18
LZ可以随机生成一个i,设置i在哪个范围就可以了呀!LZ是不是要这样的效果??
i=Radomman.value(1,255)   '1到255之间随机生成

Browser().Page().WebList().Select "#"&i
这样就可以了,不过要注意控制I的范围
作者: liuliu1824    时间: 2007-11-13 10:12
是要遍历所有组合的那种!
作者: danmy    时间: 2007-11-13 11:15
这恐怕算是最基础的代码了

Dim i,j List1Cnt,List2Cnt
List1Cnt = Browser().Page().WebList("A").GetRoProperty("items count")
List2Cnt = Browser().Page().WebList("B").GetRoProperty("items count")

For i = 0 to List1Cnt -1
   Browser().Page().WebList("A").select "#" & i
   For j = 0 to List2Cnt -1
        Browser().Page().WebList("B").select "#" & j
   Next
Next
作者: hsjzfling    时间: 2007-11-13 12:27
唉,LZ还是学点编程基础先吧。。。
弄了个简易脚本,凑合着先看看吧[attach]35079[/attach]

对了,补充一下,一般不建议将需要保存的数据直接写在DataTable中,尤其是大量的数据,比如此例,最好是直接写入Excel表格中,会比较好一些

[ 本帖最后由 hsjzfling 于 2007-11-13 18:43 编辑 ]
作者: studyboy_0    时间: 2007-11-13 17:21
这样做果然可以,谢谢
作者: hsjzfling    时间: 2007-11-13 17:55
标题: 回复 19# 的帖子
19楼兄弟的方法在一些情况下会存在缺陷的,比如省份和城市的组合WebList选择,选择不同的省份后可供选择的城市WebList的选项数量是会相应变化的,这种情况下预先赋值就不可行了,需要将List2Cnt = Browser().Page().WebList("B").GetRoProperty("items count")等语句写到对应的循环中去~
作者: jackymail    时间: 2007-11-13 18:30
原帖由 hsjzfling 于 2007-11-13 17:55 发表
19楼兄弟的方法在一些情况下会存在缺陷的,比如省份和城市的组合WebList选择,选择不同的省份后可供选择的城市WebList的选项数量是会相应变化的,这种情况下预先赋值就不可行了,需要将List2Cnt = Browser().Page().W ...


学习了。。
作者: caodongjian    时间: 2007-11-14 11:16
学习了
作者: liuliu1824    时间: 2007-11-14 13:44
给个QTP8.2的脚本实例吧!
作者: wenyongguo    时间: 2007-12-14 10:14
太好了,非常有用,谢谢了!
作者: bjwj    时间: 2009-9-24 15:19
我也困惑这个问题,学习学习~~
作者: 逸城    时间: 2010-8-19 09:55
ListA_Count = 2.WebList("ListA").GetROProperty("items count")
ListB_Count = 2.WebList("ListB").GetROProperty("items count")
ListC_Count = 2.WebList("ListC").GetROProperty("items count")
ListD_Count = 1.WebList("ListD").GetROProperty("items count")
For iA=0 to ListA_Count2
  For iB=0 to ListB_Count2
      For iC=0 to ListC_Count2
        For iD=0 to ListD_Count1
        Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("field").Select "#" & iA
      Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("display").Select "#" & iB
    Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("pagesize").Select "#" & iC
     Browser("图片::奥运社区 - CCTV 奥运社区_").Page("图片::奥运社区 - CCTV 奥运社区_").WebList("mode").Select "#" & iD
            Next
         ........
             Next
     .................
    Next
  ..................
Next
.....................


这样的脚步你尝试下
作者: 逸城    时间: 2010-8-19 09:56
晕、、07年的帖。、




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