shelley.xie 发表于 2009-3-4 20:09:17

求助解决获取动态生成值的问题!

我在使用QTP9.2的时候遇到一个问题,在facebook网站上申请一个Applications,有3个值如下图

我要获得“Application ID”、“API Key”、“Secret”后面的值,每次申请一个新的Applications这3个值都会不同,是随机生成的,在QTP里面用spy看结果如下

没有ID,它们的class是相同的,只有“innerhtml”、“innertext”、“outertext”是不同的,但是这3个值又是每次随机生成的。我只通过“class”和“tag”来每次识别它们并用GetRoProperty方法获取它们的“outertext”。
但是它们的“class”和“tag”是完全相同的,所以运行的有的时候会成功有的时候不成功,遇到这种要获取随机值的问题有其他更好的解决办法吗?
希望各位大侠赐教哦!非常感谢非常感谢。

raymond.tang 发表于 2009-3-4 23:18:42

这个简单,自己动动脑筋...

blueeagle9999 发表于 2009-3-4 23:26:37

通过“class”和“tag”来每次识别它们,并且增加index识别属性,试试看

风雪夜归人 发表于 2009-3-4 23:34:39

我猜应该是个webtable,先遍历“Application ID”、“API Key”、“Secret”这3个值,然后记下row和col,row不变,col加1,用 getchilditem (?好像是这个方法), getchilditem(row,col,micclass,xx)后面那个忘记了,看下帮助就知道了,应该可以识别出来,我用的肯定是最笨的方法,刚学qtp,不怎么了解..楼主可以试试嘛.

shelley.xie 发表于 2009-3-5 11:43:55

我因为没有什么代码基础,然后公司我是第一个来研究QTP的,公司里面没有人懂这个工具,我以前也没有用QTP方面的经验,我现在在努力学vbs语言,一切靠自学。所以一遇到问题我就很痛苦,希望大家给我一点点“闪光点”。谢谢

shelley.xie 发表于 2009-3-5 11:47:21

恩4楼的,他不是一个webtable   是一个webelement

shelley.xie 发表于 2009-3-5 13:36:16

恩我用的3楼说的方法用描述性编程去识别的“class”,“tag”然后加上一个“index”,然后去获取"innertext"
Dim i
i=0
ID=Browser("Spinlet Name - Facebook").Page("Spinlet Name - Facebook").Frame("html id:=facebook_step_page").WebElement("class:=UISettingsEditor_content","html tag:=TD","index:="&i).GetRoProperty("innertext")
i=i+1
msgbox ID
AKEY=Browser("Spinlet Name - Facebook").Page("Spinlet Name - Facebook").Frame("html id:=facebook_step_page").WebElement("class:=UISettingsEditor_content","html tag:=TD","index:="&i).GetRoProperty("innertext")
i=i+1
msgbox AKEY
但是还是获取不到ID和AKEY的值?弹出的msbbox值为空?前面的Browser和page对象库里面有

shelley.xie 发表于 2009-3-5 13:41:46

恩我知道咯把i=0改成i=1就对了?为什么呢?

blueeagle9999 发表于 2009-3-5 23:56:35

可能它之前还有类似的对象存在,你可以用childobjects()方法把webelement都打印出来看下就知道了。

shelley.xie 发表于 2009-3-6 17:18:11

:victory:    呵呵我知道咯问题解决了谢谢大家
页: [1]
查看完整版本: 求助解决获取动态生成值的问题!