51Testing软件测试论坛
标题:
怎么使用QTP获取页面一个对象的值,这个值是动态的
[打印本页]
作者:
hslqin
时间:
2011-11-21 15:22
标题:
怎么使用QTP获取页面一个对象的值,这个值是动态的
整个是一个电子流的流程,页面页头有一个控件,用于显示一条电子流的信息,其中一个是这个电子流的流水号信息,现在要获取这个流水号的信息
页面控件大概是这个样子,由于公司限制,不可以贴图
流水号:GZ2011110001
这个是静态的,不可以编辑,应该怎么获取?
用QTP获取GZ2011110001这个对象时,对象的Name为GZ2011110001,innertext为GZ2011110001,html tag为span,类型为WebElement
用GetROProperty可以获取这个值吗?
流水号是唯一标识一个流程的,换一个流程能否获取到这个值?
作者:
futogether
时间:
2011-11-22 10:38
应该可以。
在对象库里存的对象,name可以自定义的。你可以以innertext为作为唯一标识,然后获取这个值。
Browser("a").Page("a").WebElement("GZ2011110001").GetROProperty("innertext")
作者:
ermine
时间:
2011-11-22 10:52
每个流程的name是不是不一样的?
如果你每个流程的流水号不一样,看看什么规则,用正则表达式匹配一下。
然后再用楼上说的GetROProperty
作者:
nicholaszou
时间:
2011-11-22 10:54
你这个流水号每次都会变的吧 建议用描述性编程 你每个流水号开头的GZ是不变的吧?
如果是 就写成GZ.*,如果页面有多个的话 就在加一个标识 两个确定唯一一个就可以了 最后再用GetROProperty(),就可以了
作者:
hslqin
时间:
2011-11-22 11:24
回复
2#
futogether
谢谢,可以获取到值,只是报了一个警告
作者:
hslqin
时间:
2011-11-22 11:26
回复
3#
ermine
每个流程的name是不一样,QTP获取对象时都是以显示的值作为name的
流程号的规则是GZ+年+月+四位数依次递增
用正则表达式匹配,然后再用GetROProperty是什么意思?不是太懂
作者:
hslqin
时间:
2011-11-22 11:27
回复
4#
nicholaszou
再加一个标识是什么意思?什么是描述性编程?
作者:
nicholaszou
时间:
2011-11-22 13:51
首先 你要获取的页面是不是只有一个 流水号 如果只有一个的话
Browser("title:=a").Page("title:=a").WebElement("innertext:=GZ.*").GetROProperty("innertext")
这么写就可以 ,但是如果页面有多个流水号 你就在加一个标识
Browser("title:=a").Page("title:=a").WebElement("innertext:=GZ.*","xxx:=xx").GetROProperty("innertext") 就可以了
作者:
hslqin
时间:
2011-11-22 14:10
回复
8#
nicholaszou
谢谢
作者:
ermine
时间:
2011-11-22 17:26
回复
6#
hslqin
如果不太懂描述性编程,最简单的是在对象库中改。
在属性里面,有个正则的勾选,把这个选中就是使用正则,然后name的属性里写好规则,比如:GZ.*
加一个标示的意思,是指如果你当前页面有多个符合正则的对象,QTP就不识别了,比如既有GZ123456,又有GZ654321,需要用其他的属性来区分。
作者:
hslqin
时间:
2011-11-23 11:45
回复
10#
ermine
明白了,谢谢
作者:
zzxxbb112
时间:
2011-11-23 12:13
推荐10楼的方法,描述性编程还是少用,也不是这么用的。
作者:
heting1980
时间:
2012-10-10 11:37
类似问题,求各位大侠帮忙下;谢谢!
用QTP获取name123456这个对象时,对象的Name为name123456,innertext为王明,html tag为span,类型为WebElement
由于脚本录制是,页面中获取的innertext=“王明”,但在运行时这个字段值是随机动态变化的,如“王红”;
用如下脚本,永远只能得到“王明”;
Browser("title:=a").Page("title:=a").WebElement("name123456").GetROProperty("innertext")
请教,这种情况怎么处理;非常感谢!
作者:
edisonzhang
时间:
2016-3-30 10:09
对象库innertext:=总记录数:161 条 修改成总记录数:\\d 条 不能识别对象 [attach]100631[/attach]
等答复 谢谢
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2