51Testing软件测试论坛

标题: 高手进!WebElement问题 [打印本页]

作者: tmdbt100200    时间: 2012-12-14 11:22
标题: 高手进!WebElement问题
http://bbs.51testing.com/post.php?action=newthread&;fid=69&extra=(论坛发帖页面)[attach]82767[/attach][attach]82768[/attach][attach]82770[/attach]
先是一个link,点击之后才会出现WebElement
代码如何写才能把WebElement里面的值一个个的用msgbox显示出来,求教?
作者: 泰然    时间: 2012-12-14 15:17
对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
作者: 泰然    时间: 2012-12-14 15:25
很多时候QTP自身的ChildObjects方法在web系统中不太好用,更多的是用.object.getElement系列的方法来获得对象,包括了getElementById, getElementsByTagName, getElementsByName,获得到指定对象后,如果内部还有节点的层级关系,就用ChildNodes方法来进入下一层。我这里用了2次,先进入<ul>这层,然后进入<li>这层。[attach]82774[/attach]

我这里用到是chrome自带的审查元素工具。
作者: 黑羽祭    时间: 2012-12-14 16:00
回复 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
复制代码

作者: 黑羽祭    时间: 2012-12-14 16:00
回复 3# 泰然


    学习了~
作者: 赵佳乐SMILE    时间: 2012-12-14 17:59
高手真多 不光授之以鱼还授之以渔 学习啦
作者: tmdbt100200    时间: 2012-12-14 18:39
很多时候QTP自身的ChildObjects方法在web系统中不太好用,更多的是用.object.getElement系列的方法来获得对 ...
泰然 发表于 2012-12-14 15:25



    没想到还能这么做,真是大开眼界啊!服了
作者: tmdbt100200    时间: 2012-12-14 18:45
回复 4# 黑羽祭


    谢谢版主啊,居然有那么多的办法,学习了




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