51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9643|回复: 31
打印 上一主题 下一主题

[原创] qtp中怎样随机获取下列列表框WebElement中的值

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-3-2 13:27:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
最近测试的一个软件,下拉菜单录不出来,spy识别为webedit,下拉菜单中各个元素,识别为webelement,qtp中怎样随机获取下列列表框中的值
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

32#
发表于 2013-11-10 17:03:40 | 只看该作者
我也遇到楼主的问题了
大家有更好的建议吗?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-10-19 13:26
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    31#
    发表于 2011-3-7 18:04:14 | 只看该作者
    如果实在直接往WebEdit里边写值好了,加判断语句之类的,加上select case等等,
    数据多就从数据库里取值吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30#
     楼主| 发表于 2011-3-7 13:08:24 | 只看该作者
    我目前是使用shingo0109提到的鼠标模式控制下拉菜单的, 运行时,页面全屏显示,可以达到目的,非全屏下,下拉菜单不会选中
    对于第二个问题:获取下拉菜单项的个数,还是没有解决,我目前是设置了一个定值,可以实现0-定值,之间的随机选择
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29#
    发表于 2011-3-7 10:50:48 | 只看该作者
    我有一个笨办法,楼主在录制下拉菜单的时候可以换成基于坐标的录制或基于鼠标的录制方法,页面完全打开的情况下下拉菜单的位置应该是比较固定的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2011-3-6 11:26:04 | 只看该作者
    楼主现在做的项目跟我的很像,都是ext Js动态生成的页面,希望shingo0109的回答能帮你解决,如果还没有,可以站短我
    Ps:我不建议你用id之类的属性,因为这个也是很不稳定的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    27#
    发表于 2011-3-3 17:28:55 | 只看该作者
    有碰到过类似的问题,但是是JAVA的,而且点击下拉框后,出现的可以识别为javalist,这点和LZ的webelement不一样。
    说下我的做法吧:先点击红色区域(控件是嵌在Table里面)---让这个栏位获得焦点,之后点击蓝色区域---出现下拉列表框,再选择对应选项。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    26#
    发表于 2011-3-3 17:15:30 | 只看该作者
    回复 25# pingguo109


    不客气, 如果能解决问题就好, 大家一起学习了~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    25#
     楼主| 发表于 2011-3-3 17:13:49 | 只看该作者
    好的,真是太感谢了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    24#
    发表于 2011-3-3 17:11:41 | 只看该作者
    回复 23# pingguo109


    那可能用坐标不行吧。

    要不LZ就根据webedit控件加if else语句来判断好了, 如果是“用途”控件,就设成一个常量a, 如果是“科”控件, 就设成一个常量b
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23#
     楼主| 发表于 2011-3-3 16:52:49 | 只看该作者
    按你说的改了后还是0
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    22#
    发表于 2011-3-3 16:16:46 | 只看该作者
    本帖最后由 shingo0109 于 2011-3-3 16:19 编辑

    回复 21# pingguo109


    先把childobjects那句改为: Set a=Browser("系统登录").Page(":=").ChildObjects(odesc)

    如果还是0的话, 再把odesc("html id").value="ext-gen527" 这里的"-"前面加个转义"\"试试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
     楼主| 发表于 2011-3-3 15:59:53 | 只看该作者
    我这样写的
    Set odesc=Description.Create
    odesc("micclass").value="WebElement"
    odesc("html id").value="ext-gen527"
    odesc("abs_x").value="329"
    Set a=Browser("系统登录").Page(":=").WebElement("资源植物编目查询").ChildObjects(odesc)
    msgbox a.count

    弹出窗口是0

    Set a=Browser("系统登录").Page(":=").ChildObjects(odesc)
    改成这样还是0
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    20#
    发表于 2011-3-3 15:49:53 | 只看该作者
    回复 19# pingguo109


    这个我也不确定, 要不LZ试试看吧,多加个属性来标识好了:
    odesc("micclass").value="WebElement"
    odesc("html id").value="ext-gen527"    '这里如果识别不了的话,在"-"前面加个"\"来转义下
    odesc("abs_x").value="554"

    然后输出下它的count看看对不对, 其他2个下拉框也类似
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2011-3-3 15:33:07 | 只看该作者
    属性大部分都一致,使用X坐标可以吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
     楼主| 发表于 2011-3-3 15:32:14 | 只看该作者

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2011-3-3 15:20:13 | 只看该作者
    好的,谢谢,我试试看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    16#
    发表于 2011-3-3 15:18:55 | 只看该作者
    本帖最后由 shingo0109 于 2011-3-3 15:20 编辑

    回复 15# pingguo109


    LZ根据3个不同的下拉框找出一些不同的属性, 然后用childobjects来确定数量看看,然后再把该count传给RandomNumber函数, 我也简单写个代码作参考吧:
    Set odesc = Description.Create
    odesc("micclass").value="WebElement"
    odesc("xxxxx").value="xxxxx"     这里LZ根据实际属性来修改吧

    Set a=Browser("CreationTime:=0").Page(":=").ChildObjects(odesc)
    msgbox a.count

    LZ试试吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2011-3-3 15:05:48 | 只看该作者
    是和下拉框里的内容无关,但是和下拉框里所含项的数量有关,在最后一个选项继续按Down键, 光标不会回

    到第一个选项,而是在最后一个位置不动,那如果我设置一个比较大的数,而下拉菜单没有那么多项,是不是

    也不会报错,但是超出的会选择最后一项?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    14#
    发表于 2011-3-3 14:50:49 | 只看该作者
    本帖最后由 shingo0109 于 2011-3-3 15:03 编辑

    回复 13# pingguo109

    不知前面的回答是否成功了呢?

    用键盘模拟输入已经和下拉框里的内容无关了, 我想问下如果在最后一个选项继续按Down键, 光标会回到第一个选项么, 如果是的话, 其实就没关系了, 反正会循环的向下移动
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 07:43 , Processed in 0.086085 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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