51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3756|回复: 8
打印 上一主题 下一主题

[原创] QTP对于Html的span标记的辨识

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-10-30 10:56:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
qtp把html中的span标识为webelement,我想获取这个span内容。

span的触发条件是:当在相应的text输入超过限制长度的数字后,出现提示信息,该信息qtp辨识为一个webelement,如图红字部分。附件中是图片
该提示信息是动态变化的,我想获取这个信息。不知道如何做才行?我想用description对象辨识这个值,但是每次str输出都是[WebElement] object


Set MyPSTN = Description.Create()
dim str, WebElementText
WebElementText = "PSTN不能大.*"
MyPSTN("id").Value = "text85Span"
str = Browser("登录").Page("管理界面_2").WebElement("Name:="&WebElementText,"innertext:="&WebElementText).ToString
print str


[ 本帖最后由 venus1813 于 2009-10-30 11:03 编辑 ]

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

9#
发表于 2011-1-26 19:32:21 | 只看该作者
本帖最后由 jifeng 于 2011-1-26 19:34 编辑

Set MyPSTN = Description.Create()
MyPSTN("micclass").Value = "WebElement"
MyPSTN("id").Value = "text85Span"
MyPSTN("class").Value = "star"
MyPSTN("html tag").Value = "span"

set MyPSTNObj=Browser("登录").Page("管理界面").ChildObjects(MyPSTN)

msgbox MyPSTNObj(0).GetROProperty("innertext")

MyPSTNObj返回满足你描述的对象集合,具体用哪些属性描述,用firebug看一下(iE下按F12也能看到)
msgbox MyPSTNObj.count查看有多少个满足描述的对象。要准确定位到你的提示信息,则应该返回1个对象就对了。通过控制选择的属性可以控制返回的数量。


参考ChildObjects的帮助文档!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-1-26 11:35:57 | 只看该作者
我也遇到这样的问题 。。。希望有高手指导下
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-10-30 17:58:13 | 只看该作者
看了你的源码,确认了。你按我的代码区写吧。 注意这句:<span class=star id=text85Span></span>
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-10-30 17:35:30 | 只看该作者

回复 4# 的帖子

我贴了源码,操作是,进入站点管理页面,设置pstn的text为“9999”(<input type="text" name="text85" size="2" value="99" id="text85" moduleName="hasPSTN" layerId="cd0101010000"   hiddenName="PSTN" hiddenValue="100" >),点击提交后,
出现红色提示信息,不知道是不是<span class=star id=text85Span></span>所标识的信息。
执行Browser("登录").Page("管理界面").WebElement("id:=text85Span").Exist 后,发现该命题为假。


<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <form action="index.php?url=site&action=edit" method="post" id="sitform">   
   <tr>
        <td style="padding:10px;"><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="17">你的位置 : 站点管理 - <span class="bread">站点设置</span></td>
          </tr>
         

     .........................

                           <tr>
                <td height="27"  valign="top" ><div align="right" valign="top" >站点设置 : </div></td>
                <td height="30"  style="padding-left:5px; ">       <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="72"   id="cd0100000000"    onclick="checkManage(this);"  >互动平台<br>
              <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="73"   id="cd0101000000"    onclick="checkManage(this);"  >语音会议<br>
                     <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="85"   id="cd0101010000"    onclick="checkManage(this);"  >PSTN  <input type="text" name="text85" size="2" value="99" id="text85" moduleName="hasPSTN" layerId="cd0101010000"   hiddenName="PSTN" hiddenValue="100" >  <span class=star id=text85Span></span><br>
                     <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="106"   id="cd0101020000"    onclick="checkManage(this);"  >混音数量  <input type="text" name="text106" size="2" value="9" id="text106" moduleName="mixAudioNumber" layerId="cd0101020000"   hiddenName="混音数量" hiddenValue="9" >  <span class=star id=text106Span></span><br>
                     <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="125"   id="cd0101030000"    onclick="checkManage(this);"  >音频路数  <input type="text" name="text125" size="2" value="100" id="text125" moduleName="audioNumber" layerId="cd0101030000"   hiddenName="音频路数" hiddenValue="100" >  <span class=star id=text125Span></span><br>
                     <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="155"   id="cd0101040000"    onclick="checkManage(this);"  >默认语音<br>
              <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="74"   id="cd0102000000"    onclick="checkManage(this);"  >视频会议<br>
                     <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="152"   id="cd0116010000"    onclick="checkManage(this);"  >公告栏<br>
                     <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="153"   id="cd0116020000"    onclick="checkManage(this);"  >视频监控<br>
                     <input style="border:0px;" type="checkbox" name="moudleId[]"  checked  value="154"   id="cd0116030000"    onclick="checkManage(this);"  >报表查询<br>
              <input style="border:0px;" type="checkbox" name="moudleId[]"  value="159"   id="cd0117000000"    onclick="checkManage(this);"  >最大上行速率  <input type="text" name="text159" size="2" value="" id="text159" moduleName="maxUpSpeed" layerId="cd0117000000"   hiddenName="最大上行速率" hiddenValue="10000" >  <span class=star id=text159Span></span><br>
<input type=hidden value='72,73,85,106,125,155,74,88,89,107,108,156,157,158,75,86,87,76,77,78,80,81,82,84,97,98,105,71,110,111,112,151,152,153,154,' name='checkedModuleIdString'></td>
              </tr>               
            </table></td>
          </tr>


          <tr>
            <td height="37" valign="bottom" style="border-top:2px solid #dfdfe0;padding-top:2px;padding-left:125px;"><input type="button"  onclick="siteGo();" id="sub" name="sub" value="保存" style="height:25px;width:70px;">
                <input name="reset" type="reset" id="reset" value="重置" style="height:25px;width:70px;"></td>
          </tr>
         
         
        </table></td>
      </tr>
  </form>   
    </table>
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-10-30 17:34:29 | 只看该作者
顶下

[ 本帖最后由 venus1813 于 2009-10-30 17:36 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-10-30 15:52:05 | 只看该作者
1、你报错的这个span标签不知道是出错的时候创建的,还是页面初始化的时候创建的。一般错误处理都会选择前者。假如是前者,你这个肯定报错。
2、你看看这个SPAN的ID值是不是固定的。假如是固定的,尝试如下写法

If Browser("登录").Page("管理界面").WebElement("id:=text85Span").Exist Then

        str = Browser("登录").Page("管理界面").WebElement("id:=text85Span").Object.innertext
        msgbox str

End If
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-10-30 14:49:34 | 只看该作者

回复 2# 的帖子

谢谢aishifu1的回复,但是这样会报[webelement]对象无法识别,我对于MyPSTN的定义估计就行不通.难道不能用description描述这个对象?
Set MyPSTN = Description.Create()
dim str, PSTNText
PSTNText= "PSTN不能大于.*"
MyPSTN("id").Value = "text85Span"
MyPSTN("name").value = PSTNText
str = Browser("登录").Page("管理界面").WebElement(MyPSTN).Object.innertext
print str
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2009-10-30 11:09:34 | 只看该作者
str = Browser("登录").Page("管理界面_2").WebElement("Name:="&WebElementText,"innertext:="&WebElementText).Object.innerText
msgbox str
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-21 18:35 , Processed in 0.086924 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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