51Testing软件测试论坛

标题: 4种参数化LINK的方法 [打印本页]

作者: flyfly310    时间: 2008-1-18 12:52
标题: 4种参数化LINK的方法
看了maguschen的两种参数化LINK方法http://bbs.51testing.com/viewthread.php?tid=48945&highlight=2%D6%D6%B2%CE%CA%FD%BB%AFLINK%B5%C4%B7%BD%B7%A8,非常受益,另外想出了两种参数化LINK的方法,供大家参考,举一反三同样可以对webedit,webelement等对象进行参数化
[attach]40371[/attach]
第一种:利用 Description 对象For intLoop = 1 to N
    strText=DataTable.Value(...)
    Set LinkDesc = Description.Create()
    LinkDesc ("Text").Value = strText
    Browser("").Page("").Link(LinkDesc).Click
    DataTable.GetSheet("").SetNextRow
Next
第二种:描述性编程For intLoop = 1 to N
    strText=DataTable.Value(...)
    Browser("").Page("").Link("text:=" & strText).Click
    DataTable.GetSheet("").SetNextRow
Next
第三种:利用SetToproperty方法(以sina为例)
Step1:录制
Browser("新浪首页").Page("新浪首页").Link("墨尔本北航热招营销硕士").click
此时对象库如图1
[attach]38407[/attach]

Step2:欲点击其他新闻
Browser("新浪首页").Page("新浪首页").Link("北大私募基金/企业上市").Click
'点击北大...新闻
Browser("新浪首页").Page("新浪首页").Link("北大私募基金/企业上市").SetTOProperty"text","清华深圳创业板/私募班"
Browser("新浪首页").Page("新浪首页").Link("北大私募基金/企业上市").Click
'点击清华...新闻
Setp3:写循环语句
For intLoop = 1 to N
    strText=DataTable.Value(...)

    Browser("新浪首页").Page("新浪首页").Link("北大私募基金/企业上市").SetTOProperty"text","strText"
    DataTable.GetSheet("").SetNextRow
Next

第四种:利用参数化对象的Text属性实现
Step1:录制
Browser("新浪首页").Page("新浪首页").Link("墨尔本北航热招营销硕士").click
此时对象库如图1
[attach]38407[/attach]

Step2:参数化Text属性,见下图2,步骤省略
[attach]38409[/attach]
Step3:写循环或者设置Action run call propertiesrun on all rows即可




[ 本帖最后由 flyfly310 于 2008-3-26 09:36 编辑 ]
作者: lantianwei    时间: 2008-1-18 13:05
不错,支持一下!
作者: flyfly310    时间: 2008-1-18 13:13
哇,都有斑竹都送花了,开心~
作者: xiongxiongyym    时间: 2008-1-18 14:47
谢谢分享,尝试一下
作者: wangxinwen    时间: 2008-2-13 10:18
谢谢分享
作者: waiverson    时间: 2008-2-14 17:00
非常好的总结,谢谢楼主
作者: language_fw    时间: 2008-2-15 10:49
谢谢楼主的分享!望楼主继续努力。。。
作者: walker1020    时间: 2008-2-29 12:50
不错的总结,值得学习和借鉴!
作者: fengjia1105    时间: 2008-2-29 13:54
谢谢,正很需要这个
作者: flyfly310    时间: 2008-3-2 15:27
哈哈,帖子进精华区了,开心
作者: lwm63122658    时间: 2008-3-4 16:23
标题: 回复 10# 的帖子
呵呵,确实厉害,不过我一般是用第二种就可以了
作者: liangjz    时间: 2008-3-13 19:40
思路很发散阿
作者: fenghua_hua    时间: 2008-3-17 09:48
很受启发,谢谢分享。。。。。
作者: hxf    时间: 2008-3-26 11:19
这个不错。谢谢了。
作者: walker1020    时间: 2008-3-26 23:08
同时可以参考
http://bbs.51testing.com/viewthread.php?tid=48945
作者: 香依    时间: 2008-7-3 14:47
怎么看不到图片呢?
作者: jaunty    时间: 2008-8-3 23:17
你参悟出来的后面两个方法是从人家前面两个方法演变过来照猫画虎而已 只不过是多set了个property而已 那个原创的人是从datatable里取值后就直接用对象识别,比你的执行起来效率高很多。多此一举的感觉。
作者: maguschen    时间: 2008-9-2 17:03
SetTOProperty可以临时改变测试对象的属性来识别对象,然后“完事”了以后还可以继续使用原来的TO,挺好
作者: lovelovelove    时间: 2008-11-18 12:00
不错,支持一下!
作者: winson_yao    时间: 2009-2-2 17:10
学习中,谢谢分享
作者: walker1020    时间: 2009-2-22 18:14
另外 ,可以参考 http://bbs.51testing.com/thread-48945-1-59.html
作者: achang21    时间: 2009-4-5 22:46
真不知道,为什么你们一个简单的问题,搞得那么复杂,两句话就实现的东西,何必那么麻烦!

Linkvar=DataTable("linktext",dtGlobalSheet)
Browser("163网易免费邮--中文邮箱第一品牌").Page("163网易免费邮--中文邮箱第一品牌").LinK("text:="&Linkvar).click

在 DataTable 中数据如下:
linktext
126免费邮
Yeah.net
VIP
188
贺卡
帮助
    我承认lz解决问题的思路广度,值得大家学习,呵呵!
作者: jane3    时间: 2010-4-22 18:05
学习了,谢谢分享哈!
作者: mogaochao    时间: 2010-5-19 14:16
标题: 感谢
感谢
作者: luxiuxiu1987    时间: 2010-8-25 17:08
总结不错,支持
作者: cebio    时间: 2010-8-27 19:16
总结的不错
作者: y_hannah    时间: 2010-8-30 13:36
请问一下,在某网页中判断某个link是否存在,用VBS语言怎样描述?
If Browser("MSN.com").Page("Page").Link("HP Smart Deal").Exist Then
Call oReporterManager.Report ("Pass", "HP Smart Deal" ,"HP Smart Deal Exist" ,"HP Smart Deal     Exist", "No details")
else
        
Call oReporterManager.Report ("Fail", "HP Smart Deal " ,"HP Smart Deal does not Exist" ,"HP Smart Deal does not  Exist", "No details")
End if
这样写对不?
作者: iamfeiyu1009    时间: 2010-9-18 14:50
楼主总结得很好,我一般用第二种,比较方便,可以在重用的action里写,把链接的文字当参数传进来
作者: Gasgoo    时间: 2010-11-10 16:06
还没实践过。。
作者: sophiashan07    时间: 2010-12-17 11:35
我公司2010年6月份刚在纳斯达克上市,现在要找一名自动化测试组长,薪资福利良好:

我们项目组需要招聘自动化测试组组长,职位信息如下:
1.计算机相关专业本科以上学历,熟悉软件工程师学原理;
2.软件测试相关经验3年以上,其中至少包括2年功能自动化测试经验;
3.熟悉QTP工具的使用,了解QTP原理和对象识别机制;
4.熟悉VBScript脚本语言,能进行相关自动化脚本函数的编写;
5.较强的语言表达和文档编写能力及良好的沟通技巧;
6.有金融银行基础业务知识经验、有网银业务经验为佳;
7.有自动化框架编写、设计经验和软件开发经验有团队管理经验为佳;
8.熟悉Java、J2EE 、WebSphere 、Application Serve、DB2、Oracle等为佳
9.有Unix平台的使用经验(AIX/Solaris/HPUX/Linux)为佳;
欢迎各专业人士来信探讨,谢谢:
shanjing1983@163.com
sophiashan07@hotmail.com
作者: lizkli    时间: 2011-3-15 11:01
很好,谢谢
作者: lizkli    时间: 2011-3-15 11:26
非常好的东西啊
谢谢共享啊
作者: andrewli    时间: 2012-2-22 17:51
挺有用的,谢谢分享




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