QTP对于Html的span标记的辨识
qtp把html中的span标识为webelement,我想获取这个span内容。span的触发条件是:当在相应的text输入超过限制长度的数字后,出现提示信息,该信息qtp辨识为一个webelement,如图红字部分。附件中是图片
该提示信息是动态变化的,我想获取这个信息。不知道如何做才行?我想用description对象辨识这个值,但是每次str输出都是 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
http://www.51testing.com/?uid-90094-action-viewspace-itemid-173210
[ 本帖最后由 venus1813 于 2009-10-30 11:03 编辑 ] str = Browser("登录").Page("管理界面_2").WebElement("Name:="&WebElementText,"innertext:="&WebElementText).Object.innerText
msgbox str
回复 2# 的帖子
谢谢aishifu1的回复,但是这样会报对象无法识别,我对于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 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 顶下
[ 本帖最后由 venus1813 于 2009-10-30 17:36 编辑 ]
回复 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[]"checkedvalue="72" id="cd0100000000" onclick="checkManage(this);">互动平台<br>
<input style="border:0px;" type="checkbox" name="moudleId[]"checkedvalue="73" id="cd0101000000" onclick="checkManage(this);">语音会议<br>
<input style="border:0px;" type="checkbox" name="moudleId[]"checkedvalue="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[]"checkedvalue="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[]"checkedvalue="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[]"checkedvalue="155" id="cd0101040000" onclick="checkManage(this);">默认语音<br>
<input style="border:0px;" type="checkbox" name="moudleId[]"checkedvalue="74" id="cd0102000000" onclick="checkManage(this);">视频会议<br>
<input style="border:0px;" type="checkbox" name="moudleId[]"checkedvalue="152" id="cd0116010000" onclick="checkManage(this);">公告栏<br>
<input style="border:0px;" type="checkbox" name="moudleId[]"checkedvalue="153" id="cd0116020000" onclick="checkManage(this);">视频监控<br>
<input style="border:0px;" type="checkbox" name="moudleId[]"checkedvalue="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> 看了你的源码,确认了。你按我的代码区写吧。 注意这句:<span class=star id=text85Span></span> 我也遇到这样的问题 。。。希望有高手指导下 本帖最后由 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的帮助文档!
页:
[1]