51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2852|回复: 14
打印 上一主题 下一主题

[原创] 请问怎么识别自动增减的链接

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-27 15:22:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,如果有某个链接需要点击,但是这个链接是因为上一步操作才会产生出来的,比如往列表中增加一条记录,我现在需要找到这条记录,请问有什么办法?这条记录增加后,不一定在最末端,也不一定在最首端,有什么属性可以用来找到他呢。因为是新增的,而且名字可能会重名,所以根据名字来找肯定不行了。看了这个对象的其他所有属性,好像没有能用来做标示的
比如下图,钢材是我新增加的一条记录,现在下一步需要点击钢材这个链接,该怎么才能找到它呢?

[ 本帖最后由 小澈 于 2006-4-27 15:25 编辑 ]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-4-28 14:11:25 | 只看该作者
关注
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-4-29 14:09:35 | 只看该作者
知道的进来说说啊,学习呢
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-4-29 17:40:02 | 只看该作者
用描述语句代替录制的对象
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-4-30 14:16:33 | 只看该作者
能否举例说明?谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-4-30 15:07:33 | 只看该作者
用Exist可以判断
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-4-30 16:56:35 | 只看该作者
原帖由 mary.mo 于 2006-4-30 15:07 发表
用Exist可以判断


好像不可以吧,名字可以重复的!!

用exist也无法判断出是否唯一啊
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-4-30 17:00:49 | 只看该作者
其实,就是怎样在某一个页面上,找到自己想要的那个url,然后执行click

比如

dim s
s=browser("系统登录").Page("bidlinkEPSIII").Frame("main_frame_right_9").WebTable("采购目录").RowCount
datatable.Value("采购目录条数","采购目录维护")=s //检测数据是否正确
Set Link=Browser("系统登录").Page("bidlinkEPSIII").Frame("main_frame_right_9").WebTable("采购目录").ChildItem(s,2,"link",0)
link.click
可是在
Set Link=Browser("系统登录").Page("bidlinkEPSIII").Frame("main_frame_right_9").WebTable("采购目录").ChildItem(s,2,"link",0)
这句话总是不能正确执行,请问是为什么呢,执行中报错
webtable我已经手动填加到对象库里面去了,打.以后,后面的方法都会自动出来
可是
link打.后,后面就没有click的方法

我选定一个webtable作为对象,然后set了url href的值,可是都无法判断出来,不太明白

高手出来指点一二吧

[ 本帖最后由 小澈 于 2006-4-30 17:02 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-5-10 14:20:28 | 只看该作者
看看这么做可不可以?如下:
这么做的前提是增加link后,已存在的link的html id不发生变化。
假设你列表中已有2个link ,名称都是“钢材”。此时你需要新增一个名称为“钢材”的link,然后点击他,可以吗?
首先,把列表中存在的两个“钢材”的html id取出来,如下:
(遍历表格的该列,取出所有“钢材”的html id值,并记录下来。)
dim htmlValue,linkName,temp,targetName,i
targetName = "钢材"
rows = Browser().page().WebTable().GetRowCount
for i=1 to rows
         linkName = Browser().page().WebTable().ChildItem(i,1,"Link",0).GetRoProperty ("name")
         if linkNmae = targetName then
         temp = Browser().page().WebTable().ChildItem(i,1,"Link",0).GetRoProperty ("html id") // 我假设在第1列了,呵呵
         htmlValue = htmlValue&temp
         end if
Enf For

//此时手动增加一个“钢材”连接
rows = Browser().page().WebTable().GetRowCount
for i=1 to rows
         linkName = Browser().page().WebTable().ChildItem(i,1,"Link",0).GetRoProperty ("name")
         if linkNmae = targetName then
                  temp = Browser().page().WebTable().ChildItem(i,1,"Link",0).GetRoProperty ("html id")
                  if instrRev(htmlValue,temp)=0 then
                            Browser().page().WebTable().ChildItem(i,1,"Link",0).Click
                            Browser().page().sync
                            Exit For
                  end if
         end if
end for

[ 本帖最后由 Hunter 于 2006-5-10 14:30 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-5-10 15:52:40 | 只看该作者
我也试过用childitem都没有成功过。你的问题应该用description prog写:

  1. Dim myDesLink
  2. Set myDesLink  = description.Create()
  3. myDesLink("htm tag").value = "......"
  4. myDesLink("src").value = "........"

  5. 或者还有其他属性你可以确定
复制代码

以后都用myDesLink
browser(".....").Page(".....").Link(myDesLink).Click
然后应该就可以识别

如果没有其他属性可以在页面唯一确定它“钢材”,也许就只能用它与上级可识别控件的相对位置定位了
我就碰到过这样的问题,也只是很猪头地找到"abs_x""abs_y"这样的属性唯一确定需要点击的link.......sigh!

!不知道哪位还有更好的方法//bow
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-5-10 17:50:41 | 只看该作者
呵呵,XY这种方法不太可行,毕竟位置很可能变化……

既然有“钢材”两个字,那至少text属性应该能识别吧?
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2006-5-11 09:46:32 | 只看该作者
那么要是这些数据都是动态的呢? 不一定是楼主例子中的“钢材”,text不就不管用了?
这样子的话该怎么办呢
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-5-11 11:48:37 | 只看该作者
你可以做参数化啊,做成变量……
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2006-5-11 14:20:00 | 只看该作者
做成变量,那么参数从哪里读来呢?直接从数据库里面拿?

//我的意思是,只到run的时候,“钢材”这些的动态数据才能够确定;
在写script的时候,只知道存在这样的子link,
关于任何信息,都不能够确定,包括name等等 ;

这个时候参数化数据从何而来呢
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2006-5-11 17:31:37 | 只看该作者
哦,那你真是挺倒霉的~
楼主说了,位置也不是固定的……
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-19 08:50 , Processed in 0.091291 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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