51Testing软件测试论坛

标题: QTP找不到对象 [打印本页]

作者: chen0217    时间: 2016-3-25 10:26
标题: QTP找不到对象
本帖最后由 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
作者: chen0217    时间: 2016-3-25 10:28
求解答
作者: 赵佳乐SMILE    时间: 2016-3-30 16:33
下次最好贴图哦

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

你看一下 我以我的空间为例子
  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
复制代码



作者: 赵佳乐SMILE    时间: 2016-3-30 16:35
你可以msgbox打一下 看看你的行数对不对
因为我看 它是一个table里面还套了一个table
用你的 管理日志 去运行 只有1行
里面还有 标题 那一个table




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2