51Testing软件测试论坛

标题: 翻页查找目标[已解决] [打印本页]

作者: adiao    时间: 2008-3-27 13:55
标题: 翻页查找目标[已解决]
有一个列表,可能有很多页,列表当中有个值是link,假如这个页面没有就往下一页找,我写的脚本如下:
if Browser("网上商店管理系统 | 登录").Page("网上商店管理系统 | 供应商列表").Link("nik1").Exist
  then  Browser("网上商店管理系统 | 登录").Page("网上商店管理系统 | 供应商列表").Link("nik1").Click
  else Browser("网上商店管理系统 | 登录").Page("网上商店管理系统 | 供应商列表").Image("next1").Click
end if


为什么在information窗口中会提示在这4行都存在错误呢
[attach]40450[/attach]

[ 本帖最后由 adiao 于 2008-3-31 10:55 编辑 ]
作者: cathy0813    时间: 2008-3-27 14:05
你把then这个单词放到Browser("网上商店管理系统 | 登录").Page("网上商店管理系统 | 供应商列表").Link("nik1").Exist 后面
if Browser("网上商店管理系统 | 登录").Page("网上商店管理系统 | 供应商列表").Link("nik1").Exist  then
   Browser("网上商店管理系统 | 登录").Page("网上商店管理系统 | 供应商列表").Link("nik1").Click
  else Browser("网上商店管理系统 | 登录").Page("网上商店管理系统 | 供应商列表").Image("next1").Click
end if

这样就没问题了
作者: adiao    时间: 2008-3-27 14:26
没那4个错误了,谢谢~~
作者: adiao    时间: 2008-3-28 16:22
现在翻页功能可能了,可是今天又遇到一新的问题:如何循环判断,只要找到了就点击链接进入?
因为目前这个只是在第一页没找到就点到下一页去,与自己要实现的目标还不符合
作者: hsjzfling    时间: 2008-3-28 16:42
......貌似这都是最基础的编程问题,和QTP工具本身么啥关系了......LZ可以考虑咨询下你们的开发~~
作者: adiao    时间: 2008-3-28 16:54
哦,我问下。谢谢
作者: adiao    时间: 2008-3-31 10:44
加个循环语句就OK了。哈哈,
do
If Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Exist then
        Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Click
   else Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Image("next1").Click
end if

loop until  Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Exist

[ 本帖最后由 adiao 于 2008-3-31 10:50 编辑 ]
作者: adiao    时间: 2008-3-31 11:18
do
If Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Exist then
        Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Click
   else Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Image("next1").Click
end if
loop until  Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Exist

这段代码脚本执行时在发现目标后就停止了,没有点击LINK进入,改成下面就OK了。
Do
If Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Exist then
        Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Click
   Else Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Image("next1").Click
End If
Loop Until  Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Exist
Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Click

作者: adiao    时间: 2008-3-31 11:19
有点想不明白为什么要在最后加上这句,在if...then语句里不是有了吗?
作者: 今天有雾    时间: 2008-3-31 11:24
linkName=DataTable.Value("DemoName",dtlocalSheet)
Do While Browser(").Page("").Link("text:=Next|后页").Exist
For i=1 to Browser("").Page("").WebTable("").RowCount-1
    If linkName=Trim(Browser("").Page("").WebTable("").GetCellData(i+1,1)) Then
                '添加定义link的原因是针对link做一个描述性语言
        Browser("").Page("").link("text:="&linkName).Click
                Exit for
        end if
Next
Browser("l").Page("").Link("text:=Next|后页").Click
Loop
If  Not Browser("").Page("").Link("text:=Next|后页").Exist  Then
For i=1 to Browser("").Page("").WebTable("").RowCount-1
    If linkName=Trim(Browser("").Page("").WebTable("").GetCellData(i+1,1)) Then
       Browser("").Page("").link("text:="&linkName).Click
                Exit for
        End If
Next
End If


如果是数据的链接的话,Browser("").Page("").Link("text:=1").Exist  Then,根据循环就可以了
作者: Mix    时间: 2008-3-31 13:22
While not Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Exist(3)
        Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Image("next1").Click
Wend
Browser("管理系统 | 登录").Page("管理系统 | 品牌列表").Link("AOC").Click




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