转:参数化link的几种方式

上一篇 / 下一篇  2011-10-19 14:51:49 / 个人分类:qtp学习

以前查看过对象参数化的资料说SetTOProperty 方法可以进行对象的参数化,但一直没有自己亲自实践一下,今天终于自己试了试确实如此,就其原理还是要归根到对qtp脚本运行的原理的理解上,SetTOProperty 可以修改对象库中的属性的值,而qtp脚本在运行的时候要匹配对象库中的对象和运行时的对象(对象的匹配当然是要依靠对象的属性去定位),如果匹配成功才能定位到对象,所以就会考虑到将对象库中对象的属性值进行参数化,这里SetTOProperty并不是真正的改变了对象库中属性的值而是在脚本运行的过程中动态的去修改,当脚本在运行结束的时候,查看属性值仍然为修改前的值

这里就不多说了,接下来总结了几种对象参数化的方法:
第一种:使用Description 对象
第二种:使用描述性编程
第三种:使用SetTOProperty 方法
第四种:通过对象库中参数化对象

前2种方法特点就是不依赖对象库,运行的时候可以将对象库中对应的对象删除,后面2种将依赖对象库
例子:产品中的查询日志页面的翻页功能的link对象
原代码如下:
Browser("xx").Page("xx").Image("s").Click
Browser("xx").Page("xx").Image("s_2").Click
Browser("xx").Page("xx").Link("查看日志").Click
Browser("xx").Page("xx").Frame("WorkArea").WebEdit("EVENT_TIME_BEGIN").Object.value="2010-11-13 9:00:00"
Browser("xx").Page("xx").Frame("WorkArea").WebEdit("EVENT_TIME_END").Object.value="2010-11-24 9:00:00"
Browser("xx").Page("xx").Frame("WorkArea").WebButton("提 交").Click
Browser("xx").Page("xx").Frame("WorkArea").Link("10").Click

以下将参数化Link对象,使其能分别按10,20,50 数进行翻页显示

'------使用Description 对象----
Set Desc=description.Create()
Desc("text").value=v_page
Desc("index").value=0
Desc("html tag").value="A"

Browser("xx").Page("xx").Frame("WorkArea").Link(Desc).Click
'-----------使用描述性编程--------------------

Browser("xx").Page("xx").Frame("WorkArea").Link("text:="&v_page,"index:=0","html tag:=A").Click
'--------------使用SetTOProperty 方法------------(依赖对象库),这里可以用GetTOProperty方法查看我们修改的属性值
Browser("xx").Page("xx").Frame("WorkArea").Link("10").SetTOProperty "text",v_page

Browser("xx").Page("xx").Frame("WorkArea").Link("10").Click

'-----------通过对象库中参数化对象-----------(依赖对象库)需要在对象库中将Link对象本身进行参数化

Browser("xx").Page("xx").Frame("WorkArea").Link("10").Click

TAG:

 

评分:0

我来说两句

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 18517
  • 日志数: 42
  • 建立时间: 2011-03-23
  • 更新时间: 2012-03-13

RSS订阅

Open Toolbar