不是因为有些事情难以做到,我们才失去自信,而是我们失去了自信,这些事情才难以做到!

QTP-Oracle链接资料

上一篇 / 下一篇  2009-02-13 14:35:45 / 个人分类:功能测试

 

QTP连接数据库51Testing软件测试网Y'y7~l.oc
       (1)   首先要在控制面板中,加一个odbc数据源。
9@X3RB&gV0       (2)   在qtp中建立连接和记录集
ao[~vPy _!v_/l0       set cnn=createobject("adodb.connection")
8G K#Y(i0xH(@9tC0       set ōbjrsa=createobject("adodb.recordset")
9pq%u Y0E2P2j0       (3)   连接数据库51Testing软件测试网UdhY[6Q%U
       cnn.open "provide=msdaora;userid=apts;password=apts;data source=afctwo"
+ta h/x)n;c+K)`3q0       userid/password,是登陆数据库的用户名和密码,这样数据库就连接上。
0Us)l$nE0       (4)   对数据库进行操作。51Testing软件测试网M1{z*{)H1\:up'X a a
       objrsa.open "select bustypefullname from bustypeinfo",cnn,3,2
!NHs)P Uk {0       a=objrsa("bustypefullname").value得到字段bustypefullname的值赋值给了变量a
K6^Do4h j tRO0       在QTP中建立一个数据库检查点51Testing软件测试网d l.BR$c D^[
       与Robot相比,QTP直接提供了对数据库中的数据进行检查的检查点,这样如果在我们的测试中需
yw?!X-l3P{0要对后台的业务数据进行检查,只需要建立一个数据库检查点就可以了。建立数据库检查点对于一些比51Testing软件测试网4Vc%w dfX&j2v0Y
较复杂的业务逻辑的测试非常重要。51Testing软件测试网)~5p3l;GC O[k6c
       在QTP 8种,建立一个数据库检查点的基本步骤如下:51Testing软件测试网6V0d l3R\+l n n1S q/B
       1、 从Insert菜单或工具条上选择新建一个Database Checkpoint51Testing软件测试网MI+I b8{ KXg)e
       2、 接下来需要为这个Database Checkpoint建立相应的Database Query,这里我们可以通过QTP
R[{dW J/e,_!@08提供的向导完成建立Database Query的过程。
D8}-Mq0h}WG0       在QTP 8里,我们有两种建立数据库query的选择:一种是通过Microsoft Query建立,这种方法51Testing软件测试网W5tOj ~
比较简单,但是需要安装Microsoft Office中的Microsoft Query;另一种方法是手动建立,如果你对在
-u^Z P)h\0Windows中手动建立ODBC数据源和SQL语句比较熟悉,那么可以选择这种方法。
(RE%]K,?cq%K.Y0       使用Microsoft Query建立数据库query的画面如下图,Microsoft Query可以帮助我们建立数据
:gz2V1v7b#V iW0连接,选择数据源并建立数据库的qeury:
2uX+g A GoDeF;h5m0       最后Microsoft Query会把建立好的query返回给QTP 8。51Testing软件测试网d z$J7J;Lt~
       3、 在query建立好之后,QTP 8将打开Database Checkpoint的属性对话框让我们决定如何建立51Testing软件测试网 P'@*vwS?7I.K
这个数据库检查点。51Testing软件测试网E!ia#p S#Y+B,o.m,}
       数据库检查点对话框上方的表格中有蓝色对号的单元格表示将会作为基准数据在执行测试时参加51Testing软件测试网dwJZIfgP
检查,我们可以选择那些单元格的数据作为我们的基准数据。而在对话框下方有三个属性页,第一个属
f'H.^.Cr8\ z0性页表明当前选择的基准数据是怎样配置的,可以是常数,也可以从数据表中读取,或者从被测软件的51Testing软件测试网4OW&j R,o%VDN-j8C
输出数据中读入。
;tE0~ \F9y$J:]j0       第二个属性页用来设置比较数据的规则。
RpP8\T?)Z:`0       而第三个属性页用来设置在进行数据检查时怎样识别数据表的行,列以及单元格。如果我们选择
[ C1\8qU8i!O0通过键值来定位行数据,那么被选择为主键的列标题会加上图标作为标识。
_J@wG`l0       当属性设置完成以后,一个数据库检查点就建立成功了。
C'J-g c,pH!H)X T.o0       4、 修改数据库检查点51Testing软件测试网ZX'^9[ uK
       如果需要对建立好的数据库检查点进行修改,可以通过选择该数据库检查点,然后选择检查点的51Testing软件测试网K y K$^}f
Object Properties,在数据库检查点的Object Properties对话框中修改连接字串或者SQL query。51Testing软件测试网O1WL%D Oj&|q
       如果需要修改数据库检查点的数据或其它属性,也可以再次打开盖数据库检查点的Checkpoint
dLaSK]Jq!j i#O0Properties对话框。
Ma2d:Uag0       QTP识别和操作对象的原理
&b8Ew/Y j y#G5d0       QTP为用户提供了两种操作对象的接口,一种就是对象的封装接口,另一种是对象的自身接口。
B1u(MSw]0对象的自身接口是对象控件本身的接口,只要做过软件开发,使用过控件的人应该很清楚。51Testing软件测试网*|)x _Hx]d0Ljzc
           对象的封装接口是QTP为对象封装的另一层接口,它是QTP通过调用对象的自身接口来实现的51Testing软件测试网!}9bqzH0S2JNc

,G x{(N]Af0           两种接口的脚本书写格式的差别在于:
&}VoYjd3H"{0x3@T9DU}0           自身接口需要在对象名后面加object再加属性名或方法名,   封装接口就不用在对象名后51Testing软件测试网!ZiN9J`L'`5u
面加object。51Testing软件测试网6k q*u8dL#E,G
           比如操作JavaEdit对象,通过QTP封装的封装接口,脚本如下:
9W*u9f"_q3?1I;M0           设置JavaEdit的内容:51Testing软件测试网&}3s$}~5R7A&`B,K
            JavaDialog("Add NE").JavaEdit("NE Name").Set "NE1"51Testing软件测试网yu#k C'_nxUF4_
           读取JavaEdit的内容:
Xi6{8C V0wU/~0            msgbox JavaDialog("Add NE").JavaEdit("NE Name").GetROProperty("value")
Q9Y3Yhc"w A$w0           如果通过JavaEdit的自身接口,脚本如下:51Testing软件测试网"h(?/XB?_f9FD.D-[v&O
           设置JavaEdit的内容:
6NP;P b.Y cgK1w+}0           JavaDialog("Add NE").JavaEdit("NE Name").object.setText("NE1")51Testing软件测试网6d:oU*\ HW4@
           读取JavaEdit的内容:
c?'Q(^5i*^2pt b0           Msgbox JavaDialog("Add NE").JavaEdit("NE Name").object.getText()51Testing软件测试网'e2m%^*`?
           QTP执行JavaEdit().Set语句时,是通过执行JavaEdit().object.setText()来实现的。
!X't)UG;n1j2B0           QTP执行JavaEdit().GetROProperty("value"),是通过执行JavaEdit().object.getText()来51Testing软件测试网5K Y|7e8G;H&^TE
实现的。51Testing软件测试网c6c0f J;N$|
           JavaEdit对象的封装接口Set()和GetROProperty("value"),是QTP封装JavaEdit对象的自身
)A;A1D(vdK,a m3h0接口setText()和getText()而得来的。
g&W/id2V'^8M~0           对象的封装接口是QTP使用的缺省接口,我们录制出来的脚本都是使用封装接口,大家用的
{_7tz)Gh7xL0也都是封装接口。但是封装接口不如自身接口丰富,因为QTP只是封装了部分常用的自身接口嘛。所以我51Testing软件测试网^jr6M-V2]6~j
们在需要时,可以绕过封装接口,直接调用对象的自身接口。不过有些自身接口不够稳定,在实践中偶51Testing软件测试网-sl+L3ir.}f+i0aa L
尔会出现问题,但是概率很少。封装接口有相应功能的话,就尽量用封装接口吧!51Testing软件测试网[(mQy AN!h _x
           理解了封装接口和自身接口的原理,我们就可以更加灵活的操作对象了。51Testing软件测试网^;GKY r v
           但是我们怎么知道对象都有哪些封装接口和自身接口呢?51Testing软件测试网8`/n zJ ?.yyh
           其实很简单,用对象查看器(Object Spy)查看对象,在查看窗口里有列出这些接口,包括
xj7m:r'Rai$@P c y0{k0属性和方法。
Hf5dBr PcX0Z0           窗口中间有选择栏让你选择Run-time Object或者Test Object,   当你选择Run-time51Testing软件测试网d/iNc:N"O4x ^!G
Object时,它显示的就是对象的自身接口(自身的属性和方法)当你选择Test Object时,它显示的就是
U ~-JH|;d-F(G:ef0对象的封装接口(封装的属性和方法)
R%IY1b0T0           明白了这些,你还等什么呢?快拿起对象查看器,看看对象都有哪些封装接口和自身接口,51Testing软件测试网i:X#JuI&@"Y b
肆意的操作它,玩弄它吧!
]!N7C}h#b1J@c0V;[j.? T0比如执行
qB#C|j#E+H@Y B0           JavaDialog("Add NE").JavaEdit("NE Name").object.setVisible(false)
M.O t.c0cc_0            哈哈,你的JavaEdit对象就当场消失不见了!!!
;W J5[}3So o%B2i0       QTP日志记录方法
r5O#e'AMn0       QTP自动化脚本执行中,QTP工程师肯定要考虑如何记录运行中的信息,什么时间执行了什么,中间
uN.m{nE8P0遇到什么问题等等
%_*F"Dx#Z mB6D0       1.通过Shell记录windows事件,在windows事件查看器中查看
(r LP^;d*e2^0       优点是操作方便51Testing软件测试网m1S'x2y)}
       Set WshShell = WScripit.CreateObject("Wscrīpt.Shell")51Testing软件测试网eW;yL)e^?"O
       0是信息,1是错误,2是警告51Testing软件测试网Wc'MA9I#z(v
       WshShell.LogEvent 0, "Logon scrīpt Completed Successfully"
1?!Zz?ha0`SZ9d0       WshShell.LogEvent 1, "Logon scrīpt failed"
4[6Oy`j0       WshShell.LogEvent 2, "中文,且2"
)z#w%j] Rn^6vG0       2.通过FileSystemObject来打开文件来记录51Testing软件测试网K(ssL E:r'^D^K
       优点是功能强大,想记录啥就是啥
[] F E'vj%~0       3.利用Desktop.CaptureBitmap来记录当前Screen51Testing软件测试网"LTP E%yB
       填写问题单时,发生错误的页面抓图很有说服力,也便于查看,当出错时调用此函数51Testing软件测试网:cv5f^2QO*T9d\'~g;d
       QTP专家视图
0i0Y wq8X:A(WVWf7d0       专家视图
3V0i1QGF.~)@1~0       专家视图,也叫脚本视图,属于QTP中比较高级的功能选项。在该视图中,测试人员可以直接修51Testing软件测试网s xe4n#s"q'l
改测试脚本(VB脚本)的代码,来增强测试脚本的功能,它要求测试人员具有一定VB脚本语法基础。51Testing软件测试网_B%wiZhJ^]3R
       当然,测试脚本中也不完全是VB脚本,严格意义上来说,QTP的测试脚本应该是标准 VB脚本和
e%Y2]KgOQs0QTP测试对象的组合体。51Testing软件测试网o_3o!SJ'e1W W&r:^1I
       所谓的QTP测试对象,就是QuickTest定义的用来表示Windows窗体元素的对象,如同窗口,命令51Testing软件测试网0Qv^ \q@/Q
按钮等,每一个QTP测试对象都有若干个方法和属性,允许用户加以修改。
ek ?&\p`1k;l0       就是我们刚才录制的测试脚本的专家视图:51Testing软件测试网{:U:thL/`m g |
       我们直接在该视图中修改和在关键字视图中修改的效果是一样的。51Testing软件测试网U!d0`#^z,kXw
       VB脚本是一种容易学习并且功能强大的脚本,它是VB的一个子集,遵循VB的语法。
ZIJ8wQU^ ye`;t0       如果读者原来没有接触过VB脚本的话,可以将关键字视图和专家视图中的对应项结合起来学习。
Wr0I:S o7`0       下面简单介绍一下其语法:51Testing软件测试网+M"m hA6sFLB,YI
       常见的对象名:
|m1Wzj7e8b0       Dialog:对话框,括号里面的参数表示对话框标题栏上的名字
+] U ?)I h)d;J a G P~?0       WinEdit:Windows窗体中的文本框
/VR,xV0q"_f0       WinButton: Windows窗体中的命令按钮
8K8R].xy$[ i0       ActiveX: ActiveX控件
&vZ@ O5@.q6QcL0       WinComboBox: Windows窗体中列表框51Testing软件测试网+wb0MX:T
       常见的事件名:
dO!JW(q u}yl+fY3m0       Set:当在文本框中输入信息时会触发该事件51Testing软件测试网0Cm6BI1aJ
       Click:当点击命令按钮时会触发该事件51Testing软件测试网'Us0T4A0XW]n)q%f
       Select:当选择列表框或是单选按钮时会触发该事件
ki\ DO!{#ne0       Close:当关闭一个标准窗口或对话框时会触发该事件51Testing软件测试网^&w} ?eY

TAG: 功能测试

 

评分:0

我来说两句

Open Toolbar