51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2524|回复: 11
打印 上一主题 下一主题

[原创] 关于参数化Link的反馈

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-7 14:18:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请大家帮忙,我在QTP的精华区看了参数化Link的帖子后,自己做了,但是遇到了问题:
参数化home page的所有link,因为我的这个系统,在所有的页面(包括home page)上都有Log out这个link,运行到这里时,就直接点击它退出到登陆界面,所以在home page的Log out以后的link都不能被检查到,现在我想判断一下,如果检查到有Log out这个link时,不执行Click,直接继续往下检查,应该怎样处理啊?代码如下:

browser("...").Page("...").Link("more").Click                  '首次的link
browser("...").Page("...").Sync
browser("...").Page("...").Webelement("innerhtml:=Home").Click            '返回到home page

For i=0 to 1000
If browser("...").Page("...").Link("index:=" & i).Exist Then
  Msgbox browser("...").Page("...").Link("index:=" & i).GetRoProperty("name")      '获取被检查的link名称并输出
  browser("...").Page("...").Link("index:=" & i).Click                                            '测试被检查的每个link功能
  browser("...").Page("...").Sync
  browser("...").Page("...").webelement("innerhtml:=Home").Click                       ' return to the home page
Else
  Exit for
End If
Next
Msgbox "该页面中Link的数量为:"&i

当这段代码执行到Log out链接时,就点击退出到登陆界面了,登陆界面有一个forget password的link,所以就不停的检查forget password
是个死循环,我现在就想判断检查到Log out后,不执行Click,继续检查下面的link。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-5-7 15:03:04 | 只看该作者
今天5月7日,大家是不是还在放假啊。
麻烦大家给点意见吧

小弟在此拜谢了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-5-8 14:55:56 | 只看该作者
怎么没有人来帮忙解决问题啊?
麻烦版主和各位高手帮忙解决一下!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2007-5-8 18:01:19 | 只看该作者
    请楼主说明你的”检查到有Log out这个link时,不执行Click,直接继续往下检查" ,到底是什么意思?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2007-5-8 18:12:21 | 只看该作者
    首先找到 可以区分主页 和其它网页 的一个标志,并把这作为判断条件,然后分别处理此条件为真 和假 这两种情况的操作
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2007-5-9 15:00:17 | 只看该作者

    回复 #4 walker1020 的帖子

    版主,你好。
    我的意思是:
    现在主要做Link的参数化,但是我的系统的home page上有个Log out的Link,按照上面的代码顺序执行,当执行到Log out时,就点击了这个Link退出系统了,那么在home page里,Log out后面其实还有很多Link没有运行到,因为系统退出了

    我就是想当运行到Log out时,不要点击这个link,继续检查它后面的link功能
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-5-9 16:10:01 | 只看该作者
    browser("...").Page("...").Link("index:=" & i).Click                                            '测试被检查
    在这句前面加上:a=browser("...").Page("...").Link("index:=" & i).GetRoProperty("innerText")
    if a不等于"Log out" Then browser("...").Page("...").Link("index:=" & i).Click
    End if
    试试sdlkfj2
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-5-9 16:12:06 | 只看该作者
    不等于是"<>"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2007-5-10 10:44:02 | 只看该作者
    非常感谢jimmy2006.hi
    但是按照你给的建议,代码只检查了Home这个link,就结束了,而且Msgbox出来的link数量也是为0。给你看代码和系统图片
    Image:

    红框内都是要参数化的Link,但是“Personal”不是的,意思是:“Personal”是个一级菜单,当鼠标放在Personal上,它的二级菜单才会弹出来,二级菜单的Link不属于这个测试的范围。所以代码会顺序执行,Click Link的顺序是:Home、Log out、more、Add等等。

    Resource in QTP:
    Dim linkName
    For i=0 to 1000
    If browser("...").Page("...").Link("index:=" & i).Exist Then
      linkName=browser("...").Page("...").Link("index:=" & i).GetRoProperty("innerText")                    ' get link name
      Msgbox ("The linkname is " & linkName)                               ' print link name
      If linkName <> "Log out" Then
        browser("...").Page("...").Link("index:=" & i).Click                      ' click link
        browser("...").Page("...").webelement("innerhtml:=Home").Click         ' return to home page
        wait (2)
      End If
      browser("...").Page("...").Sync
      Exit for
    End If
    Next
    wait (1)
    Msgbox "该页面中Link的数量为: "&i

    [ 本帖最后由 alex_82712 于 2007-5-10 10:45 编辑 ]

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-5-10 12:57:43 | 只看该作者
    1.Msgbox"该页面中Link的数量为:&i"应该为i+1,因为i是从0开始的
    2.Exit for语句的位置不对,应该在End if后面吧sdlkfj2
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-5-10 14:42:42 | 只看该作者
    Exit for应该放在Else 里面
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2007-5-11 09:48:40 | 只看该作者
    谢谢啊,问题已经解决了!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-21 23:25 , Processed in 0.098210 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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