51Testing软件测试论坛
标题:
QTP 关于动态对象,求助
[打印本页]
作者:
chissie
时间:
2010-12-29 11:49
标题:
QTP 关于动态对象,求助
QTP的 web测试
情况如下:每个用户登录成功后有一个动态链接,我要检查对应链接页面里显示的内容。
如: 用户test1 的页面链接名称为 test1Link
用户test2 的页面链接名称为 test2Link
步骤: 我用一个用户(test1)登录录制,
点击Link对象test1Link,
进入相关页面 checkPoint该页面的文本值是否为test1权限该看到的。
脚本:
Browser("Test Web").Page("Test Web").WebEdit("userName").Set DataTable("userName", dtGlobalSheet)
Browser(Test Web").Page("Test Web").WebEdit("password").SetSecure "4d1a9453a76a623953e56628279de8a4d422"
Browser("Test Web").Page("Test Web-").Image("login").Click
Browser("Test Web").Page("Test Web").Frame("Frame").Link("test1Link").Click
复制代码
问题:在run的时候 ,跑到用户为test2时
Browser("Test Web").Page("Test Web").Frame("Frame").Link("test1Link").Click
复制代码
这一句就会报错,这个Link对象没有个统一的名称,每一次的名称都不一样,应该怎么将这个动态对象也设置成像参数的data table那样的列表??
菜鸟请求帮助。。。。
,请各位高手不宁赐教啊~~~
作者:
chissie
时间:
2010-12-29 11:56
在线等哦~~~~
作者:
arivn
时间:
2010-12-29 13:21
可以使用一个正则表达式来处理
作者:
chissie
时间:
2010-12-29 14:14
可以说详细点么
我用QTP才几天。
正则表达式 该怎么用?
是否 “Browser("Test Web").Page("Test Web").Frame("Frame").Link("test?Link").Click”
这样?
作者:
chissie
时间:
2010-12-29 14:17
在网上找到一个正则表达式的例子
原来是这样子“browser(“浏览器”).Page(“店铺管理平台”).Link(“innertext:=”& “宝贝管理”&”\(\d+\)”).Click”。
谢谢 arivn 的提醒 ,我才终于寻觅了一个可靠方向!
作者:
chissie
时间:
2010-12-29 15:06
“innertext:=test1Link(test1,test1)“
只替换test1Link(test1,test1)中的1,只替换为数字
它的正则表达式该怎么写?
test*Link(test*,test*)
test?Link(test?,test?)
test\d{1}Link(test\d{1},test\d{1})
test\d{1}Link\(test\d{1},test\d{1}\)
test\d{1}Link\(test\d{1}\,test\d{1}\)
都是错的 该怎么写?
作者:
skyzhu
时间:
2010-12-29 15:53
test\d{1}Link\(test\d{1},test\d{1}\)
test\d{1}Link\(test\d{1}\,test\d{1}\)
正则是对的
关键在于到底是不是innertext就能确认对象了
可先尝试不使用正则属性值
另外使用正则属性后,是不是会识别出多个对象,这也是会出错的
作者:
lantianwei
时间:
2010-12-29 16:15
对象库里开启正则表达式 然后填写表达式为.*link
作者:
chissie
时间:
2010-12-29 16:29
解决了 谢谢各位
作者:
chissie
时间:
2010-12-29 16:34
把那个Link对象用了正则表达式后,我想插入一个checkPoint ,确定Link的名称
但是点击 Insert Standard Ceckpoint 的时候 报这个错[attach]67609[/attach]
是什么原因呢?
作者:
chissie
时间:
2010-12-29 17:04
重新录制了一次 又没有报这个错了
再问个问题哈
Browser("Test Web").Page("Test Web").Frame("Frame")
如果我想知道这个frame是否包含“abcdefghijklmn”这个一串字符串
语法应该怎么写的? 对VB很不熟呐{:4_84:} 举步维艰啊。。。。
作者:
arivn
时间:
2010-12-30 08:34
这个问题有多种解决方法,你可以直接去看那个控件中是否有那个值
也可以将这个页面设置成一个对象,读取页面的文本元素是否包括这个字段
作者:
bin_51
时间:
2011-1-7 17:30
object .GetToProperty()
作者:
fanjianmin
时间:
2011-1-11 20:59
学习了,嘿嘿
作者:
hzr2006
时间:
2011-6-17 19:54
恩 正是我现在想知道的问题,有思路了哈哈
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2