51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1969|回复: 7
打印 上一主题 下一主题

[原创] 高手进!WebElement问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-12-14 11:22:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
http://bbs.51testing.com/post.php?action=newthread&;fid=69&extra=(论坛发帖页面)
先是一个link,点击之后才会出现WebElement
代码如何写才能把WebElement里面的值一个个的用msgbox显示出来,求教?

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2012-12-14 18:45:52 | 只看该作者
回复 4# 黑羽祭


    谢谢版主啊,居然有那么多的办法,学习了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2012-12-14 18:39:58 | 只看该作者
很多时候QTP自身的ChildObjects方法在web系统中不太好用,更多的是用.object.getElement系列的方法来获得对 ...
泰然 发表于 2012-12-14 15:25



    没想到还能这么做,真是大开眼界啊!服了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2024-9-11 15:33
  • 签到天数: 1207 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
    发表于 2012-12-14 17:59:41 | 只看该作者
    高手真多 不光授之以鱼还授之以渔 学习啦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    5#
    发表于 2012-12-14 16:00:55 | 只看该作者
    回复 3# 泰然


        学习了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    4#
    发表于 2012-12-14 16:00:24 | 只看该作者
    回复 1# tmdbt100200


        哈哈~这样算不算作弊啊~嘿嘿~
    1. Dim arrList
    2. arrList = Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").WebElement("html id:=typeid_ctrl_menu").GetROProperty("innerHTML")
    3. arrList = Replace(arrList,"<UL>","")
    4. arrList = Replace(arrList,"</UL>","")
    5. arrList = Replace(arrList,"</LI>","")
    6. arrList = split(arrList,"<LI",-1,1)

    7. For i = 0 to ubound(arrList)
    8.         arrList(i) = mid(arrList(i),instr(1,arrList(i),">")+1)
    9.         print "arrList(" & i & ") = " & arrList(i)
    10. Next
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2012-12-14 15:25:21 | 只看该作者
    很多时候QTP自身的ChildObjects方法在web系统中不太好用,更多的是用.object.getElement系列的方法来获得对象,包括了getElementById, getElementsByTagName, getElementsByName,获得到指定对象后,如果内部还有节点的层级关系,就用ChildNodes方法来进入下一层。我这里用了2次,先进入<ul>这层,然后进入<li>这层。

    我这里用到是chrome自带的审查元素工具。

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2012-12-14 15:17:01 | 只看该作者
    对web系统做QTP测试,需要懂不少web的开发。比如,这里你要先通过分析它的源代码,知道这里是通过select的click来显示一个div,然后选择一个link后将link内容回写到select中来。

    然后你通过查看元素工具找到这个div。“<div id='typeid_ctrl_menu' ...>”,发现这个div里还有<ul><li>的标签。那么你的问题就成了如何读出这些li中内容的问题。脚本如下:

    set oliList = Browser("Browser").Page("[QuickTest Pro] - 51Testing软件测").Object.getElementById("typeid_ctrl_menu").ChildNodes.ChildNodes
    For i = 0 to oliList.length - 1
            print oliList(i).innertext
    Next
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-25 01:21 , Processed in 0.078694 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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