QTP的一点资料
上一篇 / 下一篇 2007-08-20 09:04:19 / 个人分类:测试知识
----------------------------------------------------------------------------------------------------------------------
引用地址:http://www.51testing.com/?135582/action_viewspace_itemid_18118.html
----------------------------------------------------------------------------------------------------------------------
(1) 首先要在控制面板中,加一个odbc数据源。
(2) {6j ~
iu&M:F78029(((在qtp中建立连接和记录集51Testing软件测试网+@K[D*LE51Testing软件测试网,Q{qb5X8Z;cGi0c
set cnn=createobject("adodb.connection")51Testing软件测试网#eq/G%L2M(`q'~
m-G|m/qp78029set ōbjrsa=createobject("adodb.recordset")51Testing软件测试网?9\ t'T|fJ#w
(3) 连接数据库
T`6M$PDN.g"[051Testing软件测试网 hLa gj
IR-az.Z`78029cnn.open "provide=msdaora;userid=apts;password=apts;data source=afctwo"51Testing软件测试网8qw s+e[1]q;s51Testing软件测试网_1p(o)g:X
userid/password,是登陆数据库的用户名和密码,这样数据库就连接上。
EF8z3\AVBY0
3d%n2@LYQ0(4) @R(_0V7n,yF78029对数据库进行操作。
3p`1RI:Uz0`Y#J9G/T78029objrsa.open "select bustypefullname from bustypeinfo",cnn,3,
{"F)y%L[!`&K‑i51Testing软件测试网0BY1CMd-b
a
在QTP中建立一个数据库检查点
----------------------------------------------------------------------------------------------------------------------
引用地址:http://www.rapidtesting.cn/Html/QTP/07102.html
----------------------------------------------------------------------------------------------------------------------
与Robot相比,QTP直接提供了对数据库中的数据进行检查的检查点,这样如果在我们的测试中需要对后台的业务数据进行检查,只需要建立一个数据库检查点就可以了。建立数据库检查点对于一些比较复杂的业务逻辑的测试非常重要。
在QTP 8种,建立一个数据库检查点的基本步骤如下:
1、 从Insert菜单或工具条上选择新建一个Database Checkpoint
2、 接下来需要为这个Database Checkpoint建立相应的Database Query,这里我们可以通过QTP 8提供的向导完成建立Database Query的过程。
在QTP 8里,我们有两种建立数据库query的选择:一种是通过Microsoft Query建立,这种方法比较简单,但是需要安装Microsoft Office中的Microsoft Query;另一种方法是手动建立,如果你对在Windows中手动建立ODBC数据源和SQL语句比较熟悉,那么可以选择这种方法。
使用Microsoft Query建立数据库query的画面如下图,Microsoft Query可以帮助我们建立数据连接,选择数据源并建立数据库的qeury:
最后Microsoft Query会把建立好的query返回给QTP 8。
3、 在query建立好之后,QTP 8将打开Database Checkpoint的属性对话框让我们决定如何建立这个数据库检查点。
数据库检查点对话框上方的表格中有蓝色对号的单元格表示将会作为基准数据在执行测试时参加检查,我们可以选择那些单元格的数据作为我们的基准数据。而在对话框下方有三个属性页,第一个属性页表明当前选择的基准数据是怎样配置的,可以是常数,也可以从数据表中读取,或者从被测软件的输出数据中读入。
第二个属性页用来设置比较数据的规则。
而第三个属性页用来设置在进行数据检查时怎样识别数据表的行,列以及单元格。如果我们选择通过键值来定位行数据,那么被选择为主键的列标题会加上图标作为标识。
当属性设置完成以后,一个数据库检查点就建立成功了。
4、 修改数据库检查点
如果需要对建立好的数据库检查点进行修改,可以通过选择该数据库检查点,然后选择检查点的Object Properties,在数据库检查点的Object Properties对话框中修改连接字串或者SQL query。
如果需要修改数据库检查点的数据或其它属性,也可以再次打开盖数据库检查点的Checkpoint Properties对话框。
QTP识别和操作对象的原理
QTP为用户提供了两种操作对象的接口,一种就是对象的封装接口,另一种是对象的自身接口。对象的自身接口是对象控件本身的接口,只要做过软件开发,使用过控件的人应该很清楚。51Testing软件测试网,w,ed1e(F:O,b-D$H9Y%o
对象的封装接口是QTP为对象封装的另一层接口,它是QTP通过调用对象的自身接口来实现的。51Testing软件测试网s-\+\?&[c2S&@(W
两种接口的脚本书写格式的差别在于:51Testing软件测试网^(`[QRb|zD
自身接口需要在对象名后面加object再加属性名或方法名, 封装接口就不用在对象名后面加object。51Testing软件测试网
W?S vJ5@ t+R&C
比如操作JavaEdit对象,通过QTP封装的封装接口,脚本如下:51Testing软件测试网1k5t\#[2a?
设置JavaEdit的内容:51Testing软件测试网k:V!P^9Gv,M:Z0F0}
D
JavaDialog("Add NE").JavaEdit("NE Name").Set "NE1"51Testing软件测试网 a7D4x*_*j
h/|
读取JavaEdit的内容:51Testing软件测试网D#F2@n:OFk
msgbox JavaDialog("Add NE").JavaEdit("NE Name").GetROProperty("value")51Testing软件测试网!jk3jhu4Yu[
如果通过JavaEdit的自身接口,脚本如下:51Testing软件测试网k$V\;I6q/? KX
设置JavaEdit的内容:51Testing软件测试网9Qm.NyJ
JavaDialog("Add NE").JavaEdit("NE Name").object.setText("NE1")51Testing软件测试网-w9WgWC
WI9V
读取JavaEdit的内容:
_G'`
A7_/FDnV0 Msgbox JavaDialog("Add NE").JavaEdit("NE Name").object.getText()
j?^ V%?k-N
A)Y0 QTP执行JavaEdit().Set语句时,是通过执行JavaEdit().object.setText()来实现的。51Testing软件测试网@6R%i._J-kD%S$a!g
QTP执行JavaEdit().GetROProperty("value"),是通过执行JavaEdit().object.getText()来实现的。51Testing软件测试网]W5G[F8K A
JavaEdit对象的封装接口Set()和GetROProperty("value"),是QTP封装JavaEdit对象的自身接口setText()和getText()而得来的。51Testing软件测试网
eX5S8~&y
对象的封装接口是QTP使用的缺省接口,我们录制出来的脚本都是使用封装接口,大家用的也都是封装接口。但是封装接口不如自身接口丰富,因为QTP只是封装了部分常用的自身接口嘛。所以我们在需要时,可以绕过封装接口,直接调用对象的自身接口。不过有些自身接口不够稳定,在实践中偶尔会出现问题,但是概率很少。封装接口有相应功能的话,就尽量用封装接口吧! 51Testing软件测试网Z4sR M
\r8q1z
理解了封装接口和自身接口的原理,我们就可以更加灵活的操作对象了。
@:r*|9J&e[A;hv0 但是我们怎么知道对象都有哪些封装接口和自身接口呢?
U,Q/ep'szN0 其实很简单,用对象查看器(Object Spy)查看对象,在查看窗口里有列出这些接口,包括属性和方法。
9U)|0`OxS rMu&Z;]+xu0 窗口中间有选择栏让你选择Run-time Object或者TestObject, 当你选择Run-time Object时,它显示的就是对象的自身接口(自身的属性和方法)当你选择Test Object时,它显示的就是对象的封装接口(封装的属性和方法)
1s[5_#|{1qBSs0 明白了这些,你还等什么呢?快拿起对象查看器,看看对象都有哪些封装接口和自身接口,肆意的操作它,玩弄它吧!51Testing软件测试网,DI@S.df Z
L s#W:I
比如执行51Testing软件测试网U"bb,Bj)]
JavaDialog("Add NE").JavaEdit("NE Name").object.setVisible(false)51Testing软件测试网I\4Zs!F,q!m
哈哈,你的JavaEdit对象就当场消失不见了!!!
QTP日志记录方法
rS7w {5G5^0QTP自动化脚本执行中,QTP工程师肯定要考虑如何记录运行中的信息,什么时间执行了什么,中间遇到什么问题等等
1.通过Shell记录windows事件,在windows事件查看器中查看
6q
?
qEl%X-kk0优点是操作方便
Set WshShell = WScripit.CreateObject("Wscrīpt.Shell")
d\bG)@6a00是信息,1是错误,2是警告
*KV,u@L0WshShell.LogEvent 0, "Logon scrīpt Completed Successfully"51Testing软件测试网0f$xf
].\+|EY
WshShell.LogEvent 1, "Logon scrīpt failed"
0m!@3`8NwH0WshShell.LogEvent 2, "中文,且2"
0P k_#m}RZ*r02.通过FileSystemObject来打开文件来记录
优点是功能强大,想记录啥就是啥
&Cr-`
Mz$]-^#L9ta DzIQ
V03.利用Desktop.CaptureBitmap来记录当前Screen
填写问题单时,发生错误的页面抓图很有说服力,也便于查看,当出错时调用此函数
QTP专家视图
专家视图51Testing软件测试网rw
i
~qz
51Testing软件测试网3bb8U/{JcG/@
专家视图,也叫脚本视图,属于QTP中比较高级的功能选项。在该视图中,测试人员可以直接修改测试脚本(VB脚本)的代码,来增强测试脚本的功能,它要求测试人员具有一定VB脚本语法基础。
4I%J-ux%`FC&A0当然,测试脚本中也不完全是VB脚本,严格意义上来说,QTP的测试脚本应该是标准VB脚本和QTP测试对象的组合体。
/~(AO1iq4])`0所谓的QTP测试对象,就是QuickTest定义的用来表示Windows窗体元素的对象,如同窗口,命令按钮等,每一个QTP测试对象都有若干个方法和属性,允许用户加以修改。51Testing软件测试网`z#d0Q:Z/CU'd7Ebv$W
就是我们刚才录制的测试脚本的专家视图:
1u'~E4D*l,d#vp0
.s F XuD(f:pc.@+_z051Testing软件测试网`C9[2h2ZwZ
我们直接在该视图中修改和在关键字视图中修改的效果是一样的。
E+W4j\ G1M:c t)vi0VB脚本是一种容易学习并且功能强大的脚本,它是VB的一个子集,遵循VB的语法。
.H%o1dn
_Y.b
x0如果读者原来没有接触过VB脚本的话,可以将关键字视图和专家视图中的对应项结合起来学习。
r1j9Tv|0
S:QszxN;W0下面简单介绍一下其语法:
RQ1U5Q9h051Testing软件测试网X3u,e)YI1l!NI:H x_
Ø
0R2^
vf
LOz
RL&l0常见的对象名:
\\5@.mVj0Dialog:对话框,括号里面的参数表示对话框标题栏上的名字51Testing软件测试网!Vj+L
]4DR6p,l
WinEdit:Windows窗体中的文本框
6b)z2|T"k$P0WinButton: Windows窗体中的命令按钮51Testing软件测试网(h4|uQ-K3A
ActiveX: ActiveX控件51Testing软件测试网fy ]r-Q#vv@K
WinComboBox: Windows窗体中列表框
N;lMzqd
C G0
n-?+v Io0Ø
$xU3@ l$M&rdA2\7|0常见的事件名:
tl1x0o5N{6i0Set:当在文本框中输入信息时会触发该事件51Testing软件测试网5R4N
t-cs!a"j
Click:当点击命令按钮时会触发该事件51Testing软件测试网5} S,@^'RI
Select:当选择列表框或是单选按钮时会触发该事件51Testing软件测试网FD(w1jO
Close:当关闭一个标准窗口或对话框时会触发该事件51Testing软件测试网%P!R|
~:x@6X
51Testing软件测试网'jmHkbFO GFN"B
相关阅读:
- 白盒测试中的六种覆盖方法 (87117899, 2007-5-15)
- 我们常见软件测试的技巧 : (87117899, 2007-5-16)
- 软件测试人员 缘何成为IT就业新贵 (87117899, 2007-5-18)
TAG: 测试知识
- 引用 删除 liujinbyte / 2009-12-01 13:32:36
- 关于封装接口和自身接口的解释 很深入