此空间已闲置,个人主页已转到http://www.hixk.net

QTP的一点资料

上一篇 / 下一篇  2007-08-20 09:04:19 / 个人分类:测试知识

QTP连接数据库

UW9oj#r1Q)U&G'|mH i0

----------------------------------------------------------------------------------------------------------------------51Testing软件测试网!\d:N`C8@S([CH

引用地址:http://www.51testing.com/?135582/action_viewspace_itemid_18118.html

UK~#dzve:h0

----------------------------------------------------------------------------------------------------------------------

)gi~7ea _0

(1)   首先要在控制面板中,加一个odbc数据源。

7PW _)v{5`y0

(2)   {6j ~
iu&M:F78029(((
qtp中建立连接和记录集51Testing软件测试+@K[D*LE

h8spgH&F$R0We!u6k0set cnn=createobject("adodb.connection")51Testing软件测试网g`7? F2J-JP
m-G|m/qp78029set ōbjrsa=createobject("adodb.recordset")51Testing
软件测试网?9\ t'T|fJ#w

5rrJn%E6[M~D0

(3)   连接数据库
6j sor H*z ^051Testing软件测试网/cUxa-uo B e RS!uy.y


IR-az.Z`78029cnn.open "provide=msdaora;userid=apts;password=apts;data source=afctwo"51Testing软件测试网8qw s+e[1]q;s
hew9k&a r |0userid/password,
是登陆数据库的用户名和密码,这样数据库就连接上。51Testing软件测试网t6}1\ Q|%B

3W)g/x_;A0l)?{0

(4)   @R(_0V7n,yF78029对数据库进行操作。51Testing软件测试网 Q3K)hLJl rj` ^
`Y#J9G/T78029objrsa.open "select bustypefullname from bustypeinfo",cnn,3,251Testing软件测试网JV
{"F)y%L[!`&K‑i
51Testing软件测试网S Y8m P|V
a
=objrsa("bustypefullname").value
得到字段bustypefullname的值赋值给了变量a51Testing软件测试网,?i*`C]

 51Testing软件测试网D:j+q#L+O)@ `j)Z

 

+\$u^9| @G*d k9b0

QTP中建立一个数据库检查点

!e:g X)H Hf0

----------------------------------------------------------------------------------------------------------------------51Testing软件测试网8zxW w,X*_

引用地址:http://www.rapidtesting.cn/Html/QTP/07102.html  

HE,KbF/q}+l0

----------------------------------------------------------------------------------------------------------------------

_3u4m5\.sES\0

Robot相比,QTP直接提供了对数据库中的数据进行检查的检查点,这样如果在我们的测试中需要对后台的业务数据进行检查,只需要建立一个数据库检查点就可以了。建立数据库检查点对于一些比较复杂的业务逻辑的测试非常重要。51Testing软件测试网@ Vp ox7b

QTP 8种,建立一个数据库检查点的基本步骤如下:51Testing软件测试网5jh4]5SeV b`2R

1 Insert菜单或工具条上选择新建一个Database Checkpoint  51Testing软件测试网t#Cx"Ts

2 接下来需要为这个Database Checkpoint建立相应的Database Query,这里我们可以通过QTP 8提供的向导完成建立Database Query的过程。51Testing软件测试网 Stp7fY8sp?9iA

QTP 8里,我们有两种建立数据库query的选择:一种是通过Microsoft Query建立,这种方法比较简单,但是需要安装Microsoft Office中的Microsoft Query;另一种方法是手动建立,如果你对在Windows中手动建立ODBC数据源和SQL语句比较熟悉,那么可以选择这种方法。51Testing软件测试网1h:d'JHK,g@1y*_

使用Microsoft Query建立数据库query的画面如下图,Microsoft Query可以帮助我们建立数据连接,选择数据源并建立数据库的qeury51Testing软件测试网j9IM;h)JxAzO

最后Microsoft Query会把建立好的query返回给QTP 8

p w^8{Nw&qr*g0

3 query建立好之后,QTP 8将打开Database Checkpoint的属性对话框让我们决定如何建立这个数据库检查点。

4kwnT;Jfs0

数据库检查点对话框上方的表格中有蓝色对号的单元格表示将会作为基准数据在执行测试时参加检查,我们可以选择那些单元格的数据作为我们的基准数据。而在对话框下方有三个属性页,第一个属性页表明当前选择的基准数据是怎样配置的,可以是常数,也可以从数据表中读取,或者从被测软件的输出数据中读入。

L(|~ w S~l/Q0

第二个属性页用来设置比较数据的规则。51Testing软件测试网s ^cesh

而第三个属性页用来设置在进行数据检查时怎样识别数据表的行,列以及单元格。如果我们选择通过键值来定位行数据,那么被选择为主键的列标题会加上图标作为标识。

4G pLLDTgHO0

当属性设置完成以后,一个数据库检查点就建立成功了。

&Dr@0T6U(B y;Fo0

4 修改数据库检查点51Testing软件测试网 ?%i1O7~H0D K)jE

如果需要对建立好的数据库检查点进行修改,可以通过选择该数据库检查点,然后选择检查点的Object Properties,在数据库检查点的Object Properties对话框中修改连接字串或者SQL query51Testing软件测试网]u#Wcqv is

如果需要修改数据库检查点的数据或其它属性,也可以再次打开盖数据库检查点的Checkpoint Properties对话框。51Testing软件测试网o5D$I-Op

 

V9N6v;T7oq1t.FZ[0

 51Testing软件测试网5}"a%{YWJ

 51Testing软件测试网 E lX7kd

QTP识别和操作对象的原理

QTP为用户提供了两种操作对象的接口,一种就是对象的封装接口,另一种是对象的自身接口。对象的自身接口是对象控件本身的接口,只要做过软件开发,使用过控件的人应该很清楚。51Testing软件测试网$s,[t~&t0g
   
对象的封装接口是QTP为对象封装的另一层接口,它是QTP通过调用对象的自身接口来实现的。51Testing软件测试网1_-QU{B4x
   
两种接口的脚本书写格式的差别在于:51Testing软件测试网 xe7q Jfzm4GD
   
自身接口需要在对象名后面加object再加属性名或方法名,   封装接口就不用在对象名后面加object51Testing软件测试网!E;lvi e5w&g~'V9I
   
比如操作JavaEdit对象,通过QTP封装的封装接口,脚本如下:
yedK ^0   
设置JavaEdit的内容:51Testing软件测试网G.`2En4CLJa6p6ka
     JavaDialog("Add NE").JavaEdit("NE Name").Set "NE1"
#`K lV7J1?0   
读取JavaEdit的内容:
S:rXEbh e t0     msgbox JavaDialog("Add NE").JavaEdit("NE Name").GetROProperty("value")51Testing软件测试网al5Z'Z4[1OO ju1{
   
如果通过JavaEdit的自身接口,脚本如下:
;Rc XsO ?/a1zk;bty0   
设置JavaEdit的内容:
c h4X4DsVi?0    JavaDialog("Add NE").JavaEdit("NE Name").object.setText("NE1")
S&@1E1L\v&Q0   
读取JavaEdit的内容:
8e.Fd}G$Ord0    Msgbox JavaDialog("Add NE").JavaEdit("NE Name").object.getText()51Testing软件测试网F1v'x*R)AhB-Ve:G
    QTP
执行JavaEdit().Set语句时,是通过执行JavaEdit().object.setText()来实现的。51Testing软件测试网/~iy,f5? A
    QTP
执行JavaEdit().GetROProperty("value"),是通过执行JavaEdit().object.getText()来实现的。
0z/eP u%gu,g0    JavaEdit
对象的封装接口Set()GetROProperty("value"),是QTP封装JavaEdit对象的自身接口setText()getText()而得来的。
v;h0[:s}^x;V0   
对象的封装接口是QTP使用的缺省接口,我们录制出来的脚本都是使用封装接口,大家用的也都是封装接口。但是封装接口不如自身接口丰富,因为QTP只是封装了部分常用的自身接口嘛。所以我们在需要时,可以绕过封装接口,直接调用对象的自身接口。不过有些自身接口不够稳定,在实践中偶尔会出现问题,但是概率很少。封装接口有相应功能的话,就尽量用封装接口吧!  
b}}-M|c0   
理解了封装接口和自身接口的原理,我们就可以更加灵活的操作对象了。
:U n1WJ'PomS&k0   
但是我们怎么知道对象都有哪些封装接口和自身接口呢?
)o&E%_#`xK \ yL S$H0   
其实很简单,用对象查看器(Object Spy)查看对象,在查看窗口里有列出这些接口,包括属性和方法。51Testing软件测试网4\M)tUpvB
   
窗口中间有选择栏让你选择Run-time Object或者TestObject   当你选择Run-time Object时,它显示的就是对象的自身接口(自身的属性和方法)当你选择Test Object时,它显示的就是对象的封装接口(封装的属性和方法)
6Q?'E"|(Q Lll q0   
明白了这些,你还等什么呢?快拿起对象查看器,看看对象都有哪些封装接口和自身接口,肆意的操作它,玩弄它吧!51Testing软件测试网$q-_4OoO m
   
比如执行51Testing软件测试网&^ Y s{-z S
    JavaDialog("Add NE").JavaEdit("NE Name").object.setVisible(false)51Testing软件测试网o1I'I;l5l%mo[ z
    
哈哈,你的JavaEdit对象就当场消失不见了!!!51Testing软件测试网eQZJu x%j1RT,E0]p

 

;hr$pyt0

QTP日志记录方法

&O;T@$g ZH6g |051Testing软件测试网3E I1NQd"}

QTP自动化脚本执行中,QTP工程师肯定要考虑如何记录运行中的信息,什么时间执行了什么,中间遇到什么问题等等

![;@3b @w4B051Testing软件测试网:U1v [,M` v)h(H*\

1.通过Shell记录windows事件,windows事件查看器中查看

+?IAI9GBg%e051Testing软件测试网;ytH}.DC

优点是操作方便51Testing软件测试网z;Ov r'S*Fv S4nk

2NCP/so.n%nA0Set WshShell = WScripit.CreateObject("Wscrīpt.Shell")51Testing软件测试网 g#DbG_#I9r

51Testing软件测试网U:[3TO T*v|

0是信息,1是错误,2是警告51Testing软件测试网kYn__(LZ)c V^

`0d0J'm'bp#Rf n U0WshShell.LogEvent 0, "Logon scrīpt Completed Successfully"51Testing软件测试网-`7mnD,PF#V
WshShell.LogEvent 1, "Logon scrīpt failed"
;o&Rb5\eh/Q0WshShell.LogEvent 2, "
中文,2" 

uRlx9{8N*E0

yIl_.Z7G*F2o:s'V N02.通过FileSystemObject来打开文件来记录

!W'Ee4FOV$i]0

u}#HZ7K#i1j"l0优点是功能强大,想记录啥就是啥

.|)V1`~] fhLs0

T'rBY6YBC!PV03.利用Desktop.CaptureBitmap来记录当前Screen

@X _ e GG$I0

"V%Hw)J2J}f0填写问题单时,发生错误的页面抓图很有说服力,也便于查看,当出错时调用此函数51Testing软件测试网-gI{&t;FF

 

7f/b[&\y4Gw,Ng0

 

P1C0I2Y&ASp _`0

 

;M^/Qf'pcis0

\E@.SP0

QTP专家视图

bB Bn:Z9D0

专家视图
&eUr1j&dS+j u Fs l.N051Testing软件测试网 \ [EI{){
专家视图,也叫脚本视图,属于QTP中比较高级的功能选项。在该视图中,测试人员可以直接修改测试脚本(VB脚本)的代码,来增强测试脚本的功能,它要求测试人员具有一定VB脚本语法基础。51Testing软件测试网P6q%Z$u6L PU/i
当然,测试脚本中也不完全是VB脚本,严格意义上来说,QTP的测试脚本应该是标准VB脚本和QTP测试对象的组合体。
-_;x8p+{nei0
所谓的QTP测试对象,就是QuickTest定义的用来表示Windows窗体元素的对象,如同窗口,命令按钮等,每一个QTP测试对象都有若干个方法和属性,允许用户加以修改。
s!P O2D;Z$wY0
就是我们刚才录制的测试脚本的专家视图:

#S5kt^y7p8be0


aJ%I t S2P$Ou0
*U5E"@v!N0@0
(Ak s&h9m)p'd0
我们直接在该视图中修改和在关键字视图中修改的效果是一样的。
!JV m.c%X.V0
VB脚本是一种容易学习并且功能强大的脚本,它是VB的一个子集,遵循VB的语法。
3WR\*e'?Y1o~R0
如果读者原来没有接触过VB脚本的话,可以将关键字视图和专家视图中的对应项结合起来学习。51Testing软件测试网'M:i!NO)v a4H
51Testing软件测试网y%bKD N
下面简单介绍一下其语法:51Testing软件测试网t%T5BgB;M1Pj-c

2Y2F4vu&cxo1C0
Ø51Testing软件测试网4L#C)u7{r+Ba
常见的对象名:
TR'g,Kc [Hj(J4oV0
Dialog:对话框,括号里面的参数表示对话框标题栏上的名字51Testing软件测试网C4rOq)} sv.|
WinEdit:Windows窗体中的文本框
{T+n,EhZ0
WinButton: Windows窗体中的命令按钮
`)a.a/V'i7PIbs0
ActiveX: ActiveX控件51Testing软件测试网Z U8F/t'U)XR#J
WinComboBox: Windows窗体中列表框
R0b_9R(i,[rA;q0
o p!Lht$\3|0
Ø51Testing软件测试网I"^0z Vui"n&t
常见的事件名:
"CQ5B5Z.T&}"]!D6E0
Set:当在文本框中输入信息时会触发该事件51Testing软件测试网6Y"e`$oQ
Click:当点击命令按钮时会触发该事件51Testing软件测试网B[#GQ#^!b
Select:当选择列表框或是单选按钮时会触发该事件
P'? rG f$VG0
Close:当关闭一个标准窗口或对话框时会触发该事件51Testing软件测试网%b2Je-}}3d V{

` Oz&I t@+TH0

TAG: 测试知识

引用 删除 wenli9988   /   2011-01-03 21:59:57
资料非常好,值得读!
liujinbyte的个人空间 引用 删除 liujinbyte   /   2009-12-01 13:32:36
关于封装接口和自身接口的解释 很深入
heqingdan的个人空间 引用 删除 heqingdan   /   2007-11-29 09:46:31
恩,谢谢你
 

评分:0

我来说两句

日历

« 2024-05-10  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 23183
  • 日志数: 28
  • 图片数: 2
  • 文件数: 5
  • 建立时间: 2007-05-15
  • 更新时间: 2008-03-26

RSS订阅

Open Toolbar