【QTP系列经典讲座】转载及笔记

上一篇 / 下一篇  2009-09-24 22:04:41 / 天气: 舒适 / 心情: 平静 / 个人分类:QTP

昨天看到一篇【QTP系列经典讲座】的帖子,觉得很多内容蛮适合我这种似懂非懂的初学者,于是收藏起来好好研究好好学习。以下就是link,应该会定期更新,所以我要定期关注。另外,由于我这里电脑打开,page上的图片就是叉叉,于是,我只能让朋友下载到了本地……
http://bbs.51testing.com/viewthread.php?tid=170665&extra=&page=1

【QTP系列讲座 1】 == Add-in Manager 插件介绍

经常会在网上看到一些朋友会问:这个项目是用什么什么语言写的,应该选择哪个插件?其实提出这个问题的朋友是因为没有了解插件的真正含义和作用。Add-in 的选择是为了能够成功识别对应Add-in的测试对象控件,也就是说是和被测控件有关,而跟什么什么语言写的是没有关系的。

另外,当QTP将对象识别为WinObject时,怎样判断需要哪个add-in插件,可参考以下这篇帖子(总结,可根据对象的类名看出语言,如果是web程序,看文件源码、url的后缀或者网站的http头来进行判断。如果是winform的,用spy工具抓,如果类名很长的一般是.net,其它可以试用depends或者ida pro看
http://bbs.51testing.com/thread-143149-1-1.html

 

【QTP系列讲座 2】 == 对象库及原理透析

问题:为什么没有SetROProperty修改运行时对象的属性呢~
答案:因为这个方法可以直接使用调用对象【object.属性值】的自身接口来修改运行对象的属性~

实例:
步骤1.使用OBJECT.属性来访问
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Object.size="1" 
步骤2.回放,看到百度的搜索框变短了

 

【QTP之小技巧】 == QTP中Complete Word 实现

QTP->EDIT->Advanced->Complete Word后,你会发现一个很尴尬的事情:QTP设定的Complete Word正是我们平常一直切换中英文的快捷键Ctrl+space,而由于快捷键Ctrl+space被优先认定为中英文切换导致QTP的Complete Word失效。

解决方法:放弃CTRL+SPACE,平时切换的话可以使用CTRL+SHIFT 

 

【QTP系列讲座 4】 == 资源池

通过资源池来灵活的调用我们之前的函数库。
File->Setting->Resources
把以下代码加入test.txt中,然后加入资源池。

function hello_world_msg(tt)   
 
msgbox tt   
end function   
function hello_world_add(a,b)   
 
msgbox a+b   
end function  

然后按F7用step generator或者hello_world_add 1,2(可用auto-complete)来调用该函数。

 

【QTP系列讲座 5】 == DOM技术的应用

其实我还可以通过HTML DOM的方法来获取对象的ID或者NAME来控制我们想要的对象

我这里就以百度搜索框输入为例,总结一下确定对象的一些方法

1.最普通的方法
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "helloworld" 

2.描述性编程
Browser("百度一下,你就知道").Page("百度一下,你就知道").webedit("name:=wd").Set "123" 

3.对象自身接口
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Object.value="helloworld" 

4.DOM技术
Browser("百度一下,你就知道").Page("百度一下,你就知道").Object.getElementById("kw").value="helloworld" 

5.childobject结合描述性编程循环遍历获取对象 
Set Desc = Description.Create()  
oDesc("micclass").Value = "WebEdit"   
edit_count=Browser("百度一下,你就知道").Page("百度一下,你就知道").ChildObjects(oDesc).count   
set editobjects=Browser("百度一下,你就知道").Page("百度一下,你就知道").ChildObjects(oDesc)  
For i=0 to edit_count-1  
    If editobjects(i).GetROProperty("name")="wd" then  
        editobjects(i).set "helloworld" 
    End If 
Next 

 

 


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-07  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 27097
  • 日志数: 30
  • 建立时间: 2009-09-19
  • 更新时间: 2012-09-02

RSS订阅

Open Toolbar