我的QTP的学习方法及总结(二)
上一篇 / 下一篇 2009-02-25 22:39:30 / 个人分类:QTP学习
我的QTP的学习方法及总结(二)51Testing软件测试网]] zjv\
季风51Testing软件测试网-NS.He1jIDpz
pBp$R)y,t1T0
之前完成了一部分,今天继续。51Testing软件测试网aH] ~7T|%o:k
上一部分说了QTP识别对象的原理,运行机制问题。接下来自然就是正确识别对象以后,如何操作这些对象。换句话说就是我们用QTP对界面上的元素都能干些什么。在测试过程中,我们要尽量模拟出用户的操作场景,验证系统在这些场景下的响应。QTP的脚本,就是让程序去实现这些操作,如单击、选择数据、输入数据等操作。
W*qHN-e;G0QTP正对每一种对象,均提供了一套方法。写脚本时,在对象后输入英文“.”则会自动感知,列出该对象所有支持的方法。如图
gJx+t|4e051Testing软件测试网6ir/IG0Z\ Y%a&PG
L+g"nPPGy/m0+HWz$JEu7@k ^r7b0 学习、掌握这些方法的用法是很重的一环。这也是QTP很基础的一些应用。学习这些方法最好的方法就是挨个的自己去验证,并结合帮助文档把每个用法的要点、应用场景、作用搞明白。有些方法网上的朋友也做过详细的分析、比较,可以参考加深理解。所以在这个阶段就尽情的按“F1”吧。51Testing软件测试网n IW(i2wRvh@
51Testing软件测试网Le%rW6D B"n??
附中文帮助地址:http://bbs.ltesting.net/thread-57752-1-1.html
0k:w#I4p-Js051Testing软件测试网r9Q gcl&RR
经常有朋友问我这么多对象,这么多方法,怎么能记的住呢。其实只要安下心,慢慢钻研1到2个小时,就会发现其中的规律。很多方法对很多对象都是通用的,而且方法都是相通的,所以只要把一个对象下边的方法掌握了,其他对象的方法掌握起来也就很简单了。有一些方法一点要牢记,做到就像吃饭前要拿筷子一样得心应手。如Click,Select,WaitProperty,Set,ColumnCount,GetCellData,RowCount等这种常用的方法。还有一些很相似的用法的区别要搞清楚,如:GetROProperty,GetTOProperties,GetTOProperty,GetTOProperty。这几个很相近,但从名字上很容易区分开,他们的介绍网络上已经介绍的很清楚,这里不再累述。
Td7mI_J0
d!@-w?F rV.S?;I w{0 Browser对象一个很有用的表示符creationTime,这个属性在写web系统的脚本时可以发挥很大作用。它是根据Browser的打开顺去去识别对象,而不会根据具体的属性。这样可以避免由于属性改变造成对象不识别的麻烦。Browser("creationTime:=1")识别得失第二个打开的浏览器。creationTime是Browser对象特有,其他对象类似属性时index和Location。
BwP ~^#Ul&p-P0
+ZJ/c%dv,c0?0 WebTable对象,有时系统里存在多个表,但表面看是一个表而且这些表的属性都一样。但只有一个表里有数据,其他都是空表。我曾经遇到脚本不报错,但取的值一直为空就是因为这个原因。解决办法就是在属性里加上index去识别表。
lP_4c|051Testing软件测试网-c)X M6[rp1eRwG
通过对象的Object属性可以访问对象的内部方法和属性,这样可以使脚本更灵活,有时可以解决大问题。通过spy可以知道对象都有哪些内部属性和方法。如图,在Run-time列出了内部方法。
51Testing软件测试网#]bohL6Q#}c
代码1:
SerchText("新闻")
Sub SerchText(testStr)
set a=Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").Object.body.createTextRange()
b=a.text
Set regEx=new RegExp
regEx.Pattern=testStr