51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2364|回复: 7
打印 上一主题 下一主题

[原创] 多个超级链接点击的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-12-29 12:28:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
碰到一种情况,页面上有若干行的超级链接,点击后会在同一个页面的下方显示相关内容。
每一轮测试中超级链接的名字也不一样,数量也不相等。我如何才能每一次测试中均能够点击所有连接?

例如:第一轮测试 a,b,c,d均为超级链接,需要在测试中每次都能点击到。

1. a
2. b
3. c
4. d

但是第二轮测试就别成其他的返回值了,但是也需要全部点击中。
1. e
2. f
3. g
4. h
5. b

我改怎么处理啊?
sdlkfj7
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-12-29 12:34:25 | 只看该作者
补充一下,就例如模拟论坛查询,根据不同的查询内容,会出来不同的链接列表,但是他们的标题和记录数每次都不是相等的

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-12-29 14:55:06 | 只看该作者
没有人知道吗?sdlkfj7
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-12-29 16:02:10 | 只看该作者
提供个建议
我用的是8.2版本,
先在tools->object identification中将link对象的mandatory property都清空,并保证ordinal identifer是按照index来的,这样保证录制下来的link对象只有一个,现在开始录制,只要点一个超级链接就可以停了
然后用描述性编程,先判断index为n(n代表一个数字)的link是exist的,然后Browser("xxx").Page("xxx").Link("index:=n").Click(具体代码是怎么样的得看下你录制下来的东东)就可以点击超级链接了,最好外面加个循环,如果链接不存在了就退出来,免的不知道到底有几个超级链接

[ 本帖最后由 qsj_shao 于 2006-12-29 16:09 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-12-29 22:09:35 | 只看该作者
如果是我们公司的系统的话,用WebTable的ChildItem属性就可以解决这个问题了

试了一下51Testing的页面,这种方法行不通sdlkfj8
用Page对象的Links属性
Set Num=Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").Object.Links
For each Alink in Num
    msgbox Alink.innerhtml
Next
找到你需要的值出现的规律,也可以做参数化

如果用documentElement
Set Doc=Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").Object.documentElement
msgbox Doc.innerhtml
对innerhtml进行对后面的“target="_blank">”字符串定位、分析,这样会更容易............
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-12-30 13:23:52 | 只看该作者
我感觉可以这样,首先你可以把你网页上的所有链接都捕获下来保存到数组中,然后用settoproperty来赋值,然后点击.我有思路,没有试过行不行
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-12-30 15:11:00 | 只看该作者
Num=Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").Object.Links中的Object我怎么点不出来呀?我用的是8。2版本的,是不是版本不同呀?为什么没有这个属性呀?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-12-30 15:36:46 | 只看该作者
用描述性编程应该可以解决
set MyLink = Description.Create()

MyLink("属性名1").Value = "属性值1"
MyLink("属性名2").Value = "属性值2"

以上的属性要足以表示这是符合你要求的链接。

Set all_link = Browser("xx").Page("xx").ChildObjects(MyLink)
linknumber = all_link.count()
for i = 0 to linknumber-1
all_link(i).click
next
这是一个页面中的所有link的点击,点完后你说有变化,外面再加个循环吧
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 22:50 , Processed in 0.073491 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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