51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1334|回复: 3
打印 上一主题 下一主题

[求助] QTP找不到对象

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-3-25 10:26:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chen0217 于 2016-3-25 10:27 编辑

systemutil.Run "http://www.51testing.com/spacecp.php?action=spaceblogs&op="
with Browser("个人空间管理").Page("个人空间管理")
'获取当前表格的行数,为循环做准备
          tRow=.WebTable("管理日志").RowCount
                  '获取列数,这里每行的列数都是一样的,和获取行数的区别是后面需要填写一个参数"行数"
                 tCount=.WebTable("管理日志").ColumnCount(1)
                 '开始循环
                 For cRow=0 to tRow-1
                         '获取第cRow+1行,第二列的单元格的值
                         cellData=.WebTable("管理日志").GetCellData(cRow+1,2)
                         '小循环的目的是,在获取每个单元格的时候都去匹配需求中的3个字符串,如果匹配则根据需求做出相应的动作
                         For i=1 to 3
                                 '这里seleci case的作用是:当i=1时做1该做的事情,依次类推,通过循环,所以,每次都能做我们事先设定好的事情,并且每次都是1到3都做一遍
                                 Select Case i
                                 Case 1
                                         search1="哈哈哈"
                                         return=instr(1,cellData,search1)
                                         If return <> 0 Then
                                                 set oWebCheckBox=.WebTable("管理日志").ChildItem(cRow+1,1,"WebCheckBox",0)
                         oWebCheckBox.set "on"   请大神指导,为什么这句提示找不到对象
                                                 Set oWebCheckBox=nothing
                                                 Exit for

                                         End If

                                         Case 2
                                                 search2="敏敏"
                                                 return=instr(1,cellData,search2)
                                                 If return <>0  Then
                                                Set oWebCheckBox=.WebTable("管理日志").ChildItem(cRow+1,1,"WebCheckBox",0)
                          oWebCheckBox.set "on"
                                                 Set oWebCheckBox=nothing
                                                 Exit for

                                                 End If

                                   Case 3
                                           search3="测试"
                                           return=instr(1,cellData,search3)
                                            If return <>0  Then
                                                Set oWebCheckBox=.WebTable("管理日志").ChildItem(cRow+1,1,"WebCheckBox",0)
                          oWebCheckBox.set "on"
                                                 Set oWebCheckBox=nothing
                                                 tDate=.WebTable("管理日志").GetCellData(cRow+1,3)
                                                 Reporter.ReportEvent micPass,"""【测试】这篇文章发表于:""<"&tDate&">",""
                                                 end if

                                 End Select
                         Next
                 Next
end with
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2016-3-30 16:33:28 | 只看该作者
    下次最好贴图哦

    我猜你是想做的是 选中 日志里的某一行记录哈

    你看一下 我以我的空间为例子
    1. with Browser("个人空间管理").Page("个人空间管理")
    2. '获取当前表格的行数,为循环做准备
    3.           'tRow=.WebTable("管理日志").RowCount   
    4.                            tRow=.WebTable("标题").RowCount           
    5.           msgbox  tRow
    6.                   '获取列数,这里每行的列数都是一样的,和获取行数的区别是后面需要填写一个参数"行数"
    7.                  '开始循环
    8.                  For cRow=0 to tRow-1
    9.                          '获取第cRow+1行,第二列的单元格的值
    10.                          cellData=.WebTable("标题").GetCellData(cRow+1,2)
    11.                          '小循环的目的是,在获取每个单元格的时候都去匹配需求中的3个字符串,如果匹配则根据需求做出相应的动作
    12.                          For i=1 to 3
    13.                                  '这里seleci case的作用是:当i=1时做1该做的事情,依次类推,通过循环,所以,每次都能做我们事先设定好的事情,并且每次都是1到3都做一遍
    14.                                  Select Case i
    15.                                  Case 1
    16.                                          search1="QTP9.2如何连接oracle数据库"
    17.                                          return=instr(1,cellData,search1)
    18.                                          If return <> 0 Then
    19.                                                  set oWebCheckBox=.WebTable("标题").ChildItem(cRow+1,1,"WebCheckBox",0)
    20.                          oWebCheckBox.set "on"  
    21.                                                  Set oWebCheckBox=nothing
    22.                                                  Exit for

    23.                                          End If


    24.                      

    25.                                  End Select
    26.                          Next
    27.                  Next
    28. end with
    复制代码


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    4#
    发表于 2016-3-30 16:35:01 | 只看该作者
    你可以msgbox打一下 看看你的行数对不对
    因为我看 它是一个table里面还套了一个table
    用你的 管理日志 去运行 只有1行
    里面还有 标题 那一个table
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 08:06 , Processed in 0.066404 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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