51Testing软件测试论坛
标题:
QTP对于Html的span标记的辨识
[打印本页]
作者:
venus1813
时间:
2009-10-30 10:56
标题:
QTP对于Html的span标记的辨识
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 编辑
]
作者:
aishifu1
时间:
2009-10-30 11:09
str = Browser("登录").Page("管理界面_2").WebElement("Name:="&WebElementText,"innertext:="&WebElementText).Object.innerText
msgbox str
作者:
venus1813
时间:
2009-10-30 14:49
标题:
回复 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
作者:
aishifu1
时间:
2009-10-30 15:52
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:34
顶下
[
本帖最后由 venus1813 于 2009-10-30 17:36 编辑
]
作者:
venus1813
时间:
2009-10-30 17:35
标题:
回复 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>
作者:
aishifu1
时间:
2009-10-30 17:58
看了你的源码,确认了。你按我的代码区写吧。 注意这句:<span class=star id=text85Span></span>
作者:
风中劲草
时间:
2011-1-26 11:35
我也遇到这样的问题 。。。希望有高手指导下
作者:
jifeng
时间:
2011-1-26 19:32
本帖最后由 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的帮助文档!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2