Frame_4,Frame_5....用正则表达式做
Browser("登录服务器").Page("华普财务分析系统").Frame("Frame_3").WebTable("name:=类别").RowCount每次循环,Frame会改变,Frame_4,Frame_5....我用正则表达式做
Browser("登录服务器").Page("华普财务分析系统").Frame("Frame_").WebTable("name:=类别").RowCount
QTP提示:The "Frame_" Frame object was not found in the Object Repository. cFrame="Frame_"+cstr(j2+1)
nRow2=Browser("登录服务器").Page("华普财务分析系统").Frame("name=:"&cFrame).WebTable("name:=类别").RowCount
我这样做也不行。
回复 2# 的帖子
Browser("登录服务器").Page("华普财务分析系统").Frame("Frame_.*").WebTable("name:=类别").RowCount 回3楼 你确定Frame("Frame_.*")这样使用正则表达式没问题么~~据我所知,对象名称上是不能使用正则表达式的回LZ楼 实际上你的问题很可能是可以通过录制时修改Page/Frame Options的设置来解决的,录制的脚本中没有了_2,_3这些重复对象产生,就不会有你现在的问题了~~(页面中本就存在多个这样名叫Frame的对象的情况除外~)
看的出来LZ初步会使用描述性编程了,不过还没能很好的了解其实质以及部分细节。其一是name属性,这个name不是你看到在对象库中高高在上的那个Name,而是你在使用Spy查看对象时Runtime Object那一列对象属性中的一个属性。因此2楼的做法也是不可行的。
那么正确的做法应该是,先去对象库中比较这些Frame对象的识别属性,看是否完全一样,若相同则不需要使用正则表达式,将这些属性转换成描述性编程语句就可以了;若不相同,则需要根据对象属性值的不同之处与变化规律,来确定如何使用变量或者正则表达式匹配这些属性值。
顺便提一下咯,在属性完全一样时我们还可以有其它的解决办法,比如,将那些Frame_2,_3等等对象下的子对象都拖到第一个Frame对象中去,然后QTP把代码中的对象名Frame_2,_3等都替换为Frame即可。若子对象也完全一样,那么就只需要替换下代码中的对象名就好了。
若LZ还不能很好的理解的话,可以把那几个Frame对象在对象库中属性值截图发上来看看,这样我才能帮你给出代码 4楼正解,通过设置能够解决这种问题。 1.而是你在使用Spy查看对象时Runtime Object那一列对象属性中的一个属性。
----Frame的属性怎么用SPY查看啊?
2.我这里Frame属性是一样的,Frame下的对象不同,我觉得用你说的转化成描述性编程来做较好。
----我改了options里面的设置,现在录制完后,对象都在一个Frame下面了。
----那些Frame是不是就是在对象库里的名字不一样?实际上属性是一样的,这样的话,用描述性编程来做也不能区分那些Frame啊
3.将那些Frame_2,_3等等对象下的子对象都拖到第一个Frame对象中去,然后QTP把代码中的对象名Frame_2,_3等都替换为Frame即可
----你说的这个方法,我觉得不行,因为Frame是动态生成的。“Browser("登录服务器").Page("华普财务分析系统").Frame("name=:"&cFrame).WebTable("name:=类别")” ,生成的Frame中的WebTable对象也是生成时才取的,WebTable对象并没有事先添加到对象库中,要生成多少个Frame也是不确定的。
[ 本帖最后由 FLY000 于 2008-6-10 11:31 编辑 ] 附件是我现在对象库中的FRAME和OPTIONS里面的FRAME设置 每个Frame的属性都是一样的,除了在对象库里的名字不同
这个问题,怎么设置让那个Frame在录制时不出现Frame_2,_3之类的?
这个问题,怎么设置让那个Frame在录制时不出现Frame_2,_3之类的?高手给个截图啊! 用描述性编程,或者把那写FRAME_2,FRAME_3下的对象全都放到FRAME下,把FRAME_2,FRAME_3删除!! 其实楼主问题通过整理对象库来解决你自己把各个frame进行命名
然后根据需要再把下面的对象来进行整理
因为你这样可能出现很多frame_?
这样不管是维护还是在代码里看起都很恼火
http://www.51testing.com/?161787/action_viewspace_itemid_89571.html
看看这个 (顺便给zte_bogk空间打个广告:lol )
应该对你有启发 原帖由 FLY000 于 2008-6-10 10:18 发表 http://bbs.51testing.com/images/common/back.gif
附件是我现在对象库中的FRAME和OPTIONS里面的FRAME设置
你两个都选 Different Test Object Description好了,就不会出现多个Page、Frame对象了。
页:
[1]