51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3622|回复: 14
打印 上一主题 下一主题

[原创] QTP 关于动态对象,求助

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-12-29 11:49:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
QTP的 web测试
      情况如下:每个用户登录成功后有一个动态链接,我要检查对应链接页面里显示的内容。
        如: 用户test1  的页面链接名称为 test1Link
               用户test2  的页面链接名称为 test2Link
      步骤: 我用一个用户(test1)登录录制,
                点击Link对象test1Link,
                进入相关页面 checkPoint该页面的文本值是否为test1权限该看到的。
      脚本:
  1.    
  2. Browser("Test Web").Page("Test Web").WebEdit("userName").Set DataTable("userName", dtGlobalSheet)
  3. Browser(Test Web").Page("Test Web").WebEdit("password").SetSecure "4d1a9453a76a623953e56628279de8a4d422"
  4. Browser("Test Web").Page("Test Web-").Image("login").Click
  5. Browser("Test Web").Page("Test Web").Frame("Frame").Link("test1Link").Click
  6.    
复制代码
问题:在run的时候  ,跑到用户为test2时
  1. Browser("Test Web").Page("Test Web").Frame("Frame").Link("test1Link").Click
复制代码
这一句就会报错,这个Link对象没有个统一的名称,每一次的名称都不一样,应该怎么将这个动态对象也设置成像参数的data table那样的列表??
菜鸟请求帮助。。。。  ,请各位高手不宁赐教啊~~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

15#
发表于 2011-6-17 19:54:47 | 只看该作者
恩 正是我现在想知道的问题,有思路了哈哈
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2011-1-11 20:59:37 | 只看该作者
学习了,嘿嘿
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2015-11-16 14:40
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2011-1-7 17:30:05 | 只看该作者
    object .GetToProperty()
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2010-12-30 08:34:00 | 只看该作者
    这个问题有多种解决方法,你可以直接去看那个控件中是否有那个值

    也可以将这个页面设置成一个对象,读取页面的文本元素是否包括这个字段
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2010-12-29 17:04:53 | 只看该作者
    重新录制了一次  又没有报这个错了

    再问个问题哈
    Browser("Test Web").Page("Test Web").Frame("Frame")
    如果我想知道这个frame是否包含“abcdefghijklmn”这个一串字符串
    语法应该怎么写的?   对VB很不熟呐{:4_84:}   举步维艰啊。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2010-12-29 16:34:04 | 只看该作者
    把那个Link对象用了正则表达式后,我想插入一个checkPoint ,确定Link的名称
    但是点击 Insert Standard Ceckpoint 的时候 报这个错
    是什么原因呢?

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2010-12-29 16:29:03 | 只看该作者
    解决了  谢谢各位
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-12-29 16:15:58 | 只看该作者
    对象库里开启正则表达式 然后填写表达式为.*link
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2010-12-29 15:53:20 | 只看该作者
    test\d{1}Link\(test\d{1},test\d{1}\)
    test\d{1}Link\(test\d{1}\,test\d{1}\)
    正则是对的

    关键在于到底是不是innertext就能确认对象了
    可先尝试不使用正则属性值
    另外使用正则属性后,是不是会识别出多个对象,这也是会出错的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-12-29 15:06:58 | 只看该作者
    “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}\)
    都是错的  该怎么写?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2010-12-29 14:17:41 | 只看该作者
    在网上找到一个正则表达式的例子
    原来是这样子“browser(“浏览器”).Page(“店铺管理平台”).Link(“innertext:=”& “宝贝管理”&”\(\d+\)”).Click”。
      谢谢 arivn 的提醒 ,我才终于寻觅了一个可靠方向!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2010-12-29 14:14:41 | 只看该作者
    可以说详细点么我用QTP才几天。
    正则表达式 该怎么用?
      是否 “Browser("Test Web").Page("Test Web").Frame("Frame").Link("test?Link").Click”
    这样?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2010-12-29 13:21:12 | 只看该作者
    可以使用一个正则表达式来处理
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
     楼主| 发表于 2010-12-29 11:56:43 | 只看该作者
    在线等哦~~~~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 09:24 , Processed in 0.092538 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表