cn2cj010 发表于 2013-5-14 16:36:40

QTP给Web ComboTree赋值无效

页面上的控件效果如下:



QTP识别如下:




该ComboTree只能从下拉列表中的树进行选择,QTP代码如下:

myhomeweb.webedit("class:=combo-text validatebox-text validatebox-invalid").Object.readonly=false
myhomeweb.webedit("class:=combo-text validatebox-text validatebox-invalid").Object.innertext= "本地交通费"
myhomeweb.Sync


运行时,发现赋值已经成功,但是提交时,发现系统不能识别ComboTree的值,只能通过下拉列表进行选择。

请问如何解决?

泰然 发表于 2013-5-15 15:16:53

我猜你说的运行时是指QTP脚本运行Object.innertext语句时,而提交时说的是被测软件界面上有个提交按钮,在点击提交的时候。

虽然没看到你的被测软件html源码,但我相信,你这里的ComboTree是一个文本框和一个UL组合的样式。根据你的操作,系统不能识别ComboTree的值,说明这里无法使用对webedit的赋值,那么你只能换个思路了。比如对某个选项的点击。

或者你先手工选择好后,再用spy去读一下webedit的innertext值,看看是否dom赋值有错误。

cn2cj010 发表于 2013-5-16 10:22:37

这个combotree是个JQuery的控件, 网页中HTML代码如下:    <td width="13%" class="td_title" >费用项目</td>
    <td width="20%" class="td_data"><input id="selfeetype"url="../../Finance/GetFeeTypeList4ComboTree?type=normal"   panelwidth="245" required="true" /><span class="red"> *</span></td>



从Combotree中选定项目后,用spy发现innertext也是空的

泰然 发表于 2013-5-17 12:19:04

哦。既然从Combotree中选定项目后,用spy发现innertext也是空的,那么你用Object.innertext来赋值确实就没作用了。那么你只能用ChildNodes通过标签结构来找到你要的选项了。建议你用google chrome的审查元素来看标签结构。
页: [1]
查看完整版本: QTP给Web ComboTree赋值无效