51Testing软件测试论坛

标题: 如何一一获得Table中 某栏 link 的 text? [打印本页]

作者: zhengfeng    时间: 2005-11-10 11:55
标题: 如何一一获得Table中 某栏 link 的 text?
一个table中, 是 10 条记录, 每条记录最前面一栏是 id.

link this id, you can view the record detail.

Now, I want find a link which id is 3340,in the page.

How can I do?

[ Last edited by zhengfeng on 2005-11-10 at 11:56 ]
作者: lovetest6    时间: 2005-11-10 13:33
输入开课代码:3340,然后点查询即可。呵呵。

[ Last edited by lovetest6 on 2005-11-10 at 13:46 ]
作者: lovetest6    时间: 2005-11-10 13:38
建议你看一下版规。

[ Last edited by lovetest6 on 2005-11-10 at 13:46 ]
作者: zhengfeng    时间: 2005-11-10 17:56
lovetest6 说的方法我实际上就是这么用的.

我提这个问题,主要目的是通过这个例子, 能了解并学习到 QTP .
作者: zhengfeng    时间: 2005-11-10 17:59
http://bbs.51testing.com/viewthread.php?tid=20178&fpage=1
通过上面link 的学习. 我终于融会贯通,完成了我的问题: 与大家共享:


//////////////////////////////////////////////////////////////////////////////////////
Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Image("Tplus").Click
Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Image("Tplus_2").Click
Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Link("开课设置").Click
Browser("Login").Page("Page").Frame("main").WebList("drpStatus").Select "任意"
Browser("Login").Page("Page").Frame("main").WebButton("查找").Click
Browser("Login").Page("Page").Sync

Dim finded,findCode,Nowout
'define a constrat for find
findCode = 110901   
finded = false

Function MaxPage(pageString)
   'msgbox pageString
   Dim ilen,i,j
   ilen = len(pageString)
   i=ilen
   While i>0
        j = mid(pageString,i,1)
           'msgbox j
           If instr("123456789",j)>0 Then
           MaxPage = j
                   'msgbox MaxPage
                   Exit function
           End If
           i=i-1
   Wend
End Function

  
Dim trowcount,maxp
trowcount = Browser("Login").Page("Page").Frame("main_8").WebTable("开课代码").RowCount
msgbox "Rowcount: "&trowcount
Nowout = Browser("Login").Page("Page").Frame("main_8").WebTable("开课代码").GetCellData(trowcount,1)
Nowout = trim(Nowout)
maxp = MaxPage(Nowout)
msgbox "max page: "& maxp

Dim nowPage,checkid
For nowPage = 1 to maxp
   If  finded Then
           Exit for
   End If
  ' link to the 当前所需page
  If nowpage>1 Then
    Browser("Login").Page("Page").Frame("main_8").Link("[2]").SetTOProperty "Text","["&nowpage&"]"
    Browser("Login").Page("Page").Frame("main_8").Link("[2]").Click
    Browser("Login").Page("Page").Sync
   end if

  ' Get the rowcount of table in now page
   trowcount = Browser("Login").Page("Page").Frame("main_8").WebTable("开课代码").RowCount
   msgbox "Rowcount: "&trowcount

  'link every record in the table of the page
   for i = 2 to trowcount  - 2
        Nowout = Browser("Login").Page("Page").Frame("main_8").WebTable("开课代码").GetCellData(i,2)
        'msgbox i&": "&Nowout

    checkid = "dgCourse:_ctl" &(i+1)& ":_ctl0"
    Browser("Login").Page("Page").Frame("main_8").WebCheckBox("dgCourse:_ctl3:_ctl0").SetTOProperty "name",checkid
    Browser("Login").Page("Page").Frame("main_8").WebCheckBox("dgCourse:_ctl3:_ctl0").Set "ON"
       
    Browser("Login").Page("Page").Frame("main_8").Link("0901").SetTOProperty "Text",Nowout
    Browser("Login").Page("Page").Frame("main_8").Link("0901").Click
    Browser("开课设置详细信息").Page("开课设置详细信息").Sync
        'wait(1)
        msgbox "begun"
        msgbox findCode
        msgbox Nowout
        msgbox "finished"
        If  trim(findCode) = trim(Nowout) Then
        finded = true
                msgbox "find is ok!"
                wait(2)
                Exit for
        End If
    Browser("开课设置详细信息").Close
    Browser("Login").Page("Page").Sync
  next

Next
作者: Mac.Meng    时间: 2005-11-25 08:37
学习中~~~~~~~~




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