qtp和DB EXCEL TXT

上一篇 / 下一篇  2007-06-21 14:54:31 / 个人分类:QTP

51Testing软件测试网ac'i-Uf`

   最近开始学习QTP的使用,结合有关资料,有了自己第一个脚本。51Testing软件测试网!E9A5Z$OA%^ [&ox d
[功能]
FD/p!UwJ0J1~]0   1.从EXCEL文件读入数据,存入数据库的2张表中
N1b2Jm!Q[0   2.调用外部程序实现数据库的操作,结果存入第3张表中
|@$`;Z!~/VEL0   3.读出第3张表的数据和EXCEL文件预计结果作比较
8n6{?^ Xi&G:HVK0   4.将测试结果写入txt文件,使用report功能在result中报错51Testing软件测试网;ue%i8I%{:]%c9p

51Testing软件测试网 L9UN8c%j {z

[代码]
Yy yf4GMU]oL0   公司的电脑是日文操作系统,所以注释是日文。大家不看也罢。

@8w,rg!w d0

"E+k8C^YA8`Z0Dim conn,rst,filename,coboname51Testing软件测试网~$U%T/xe^m^
Dim REPORT_ID,REPORT_SUB_ID,IDX
nG9c3w z0Dim USER_CD,TF_UFIT_TORI_FLG51Testing软件测试网 SDzf_

51Testing软件测试网pX7Vf Y8T,M

set cnn=createobject("adodb.connection")51Testing软件测试网?9c*D!cE;paUEDa
set ōbjrsa=createobject("adodb.recordset")
X];l'kp|0cnn.open "provide=msdaora;userid=panqy;password=8823;data source=panqy"
?N~(e lgu0filename="E:\DATA.xls"51Testing软件测试网F6Rs(w$~X
Set conn= createobject("ADODB.Connection")51Testing软件测试网:T\%\o&q2?%XHz

t+L|-~ V+L051Testing软件测试网;~:nt)e?L&| kzry
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="&filename&";Extended Properties='Excel 8.0;hdr=yes'"51Testing软件测试网e7NU^/^-}~s}
Set rst= createobject("ADODB.Recordset")

N+`bn5i#]h051Testing软件测试网+W"A`Fy$Q

'  Excelファイルのデータを読み込む
B~X*[ c-eY0rst.Open "select  *   from [WHCT0717$] " ,conn,1,1
vB)|2QL$})^'r0result = rst.RecordCount
O/JE*aw.f,Q~9}0msgbox "RecordCount = "&result51Testing软件测试网 Df%n)^(OPC

ZZ*OF4gT&N8uQ0' table WHCT0717のデータをセットする51Testing软件测试网$qa&^s5ap
While Not rst.EOF 51Testing软件测试网8Z'En1pa%af
 ' IDX = rst.fields("IDX")51Testing软件测试网S4z%U8[.I)s&s
  REPORT_ID = rst.fields("REPORT_ID")51Testing软件测试网IM.C EBvn9`n
  REPORT_SUB_ID = rst.fields("REPORT_SUB_ID")51Testing软件测试网%i2Tm6K+twa#w/}c
  objrsa.open "insert  into  WHCT0717 (REPORT_ID,REPORT_SUB_ID) values ('"&REPORT_ID&"','"&REPORT_SUB_ID&"') ",cnn,3,251Testing软件测试网 U6](p9a7z!n
 ' msgbox "Data="&REPORT_ID
.[nWg ?f7_;P Z0      rst.MoveNext51Testing软件测试网4v~m@M2N4M&o
   Wend
R%C%m9F/yL)_)d0  51Testing软件测试网BnJ Au&~
rst.close

'Y)Nl4f x-O;ky`+B uI0

+uv@aBX X)i0n1x0'  Excelファイルのデータを読み込む
\`E/v o(N0rst.Open"select  *   from [WHBT010Q$] " ,conn,1,1
P&sY5J[!XZ.k0result = rst.RecordCount51Testing软件测试网;U jX&S/E#ei ~ L
msgbox "RecordCount = "&result

%n#u!kb?Ty051Testing软件测试网 Q_k9C&Kv

' table  WHBT010Qのデータをセットする
a ~ W$vw0While Not rst.EOF 51Testing软件测试网"g I { Y'p6j"@4Nb
 ' IDX = rst.fields("IDX")51Testing软件测试网~3~N+?J/J;d$E l
  USER_CD = rst.fields("USER_CD")51Testing软件测试网~{/ySvO
  TF_UFIT_TORI_FLG = rst.fields("TF_UFIT_TORI_FLG")51Testing软件测试网/z:T#T P6vQ_+I[
  objrsa.open "insert  into  WHBT010Q ( USER_CD, TF_UFIT_TORI_FLG) values ('"&USER_CD&"','"&TF_UFIT_TORI_FLG&"') ",cnn,3,251Testing软件测试网er~r v(a.[
 ' msgbox "Data="&REPORT_ID51Testing软件测试网4_ ZPAu
      rst.MoveNext
\e%c ~:c'o(E|2vb+vY0   Wend
,iu {YZ:\'a0 51Testing软件测试网^ r"U?#|r!c
rst.close51Testing软件测试网(X'W7b Y)d{*l

51Testing软件测试网/z'w3AM`1P

'batファイルを行う51Testing软件测试网Q} Fahw
coboname = "E:\call.bat"
p+[0mv G$k,K$N0SystemUtil.Run coboname

0|J;Ig@#q0

bL1R9^ LU"]0CreateFile()51Testing软件测试网 `Z"K.[c)~4x
'  テスト結果のsheetを読み込む51Testing软件测试网 i*BXLc&?8k)w1d4f
rst.Open"select  *   from [WHCT0762$] " ,conn,1,151Testing软件测试网v.s^0GVe2B
result1 = rst.RecordCount51Testing软件测试网,i~%s XlN
msgbox "RecordCount = "&result51Testing软件测试网 PPc;llnl@6F
reporter.filter=051Testing软件测试网*x)w{6GU*g

.| fs Qos.{+Z!T~O0objrsa.open"select  * from WHCT0762"51Testing软件测试网xP9Cm(h W
While (Not rst.EOF) AND  (NOT  objrsa.EOF)51Testing软件测试网+Q8x/Hy7p `CI6W
 If rst.fields(1) <> objrsa.fields(1) Then51Testing软件测试网8tqu p!M_
       ' msgbox "IDX="&rst.fields(0)&"ケースはエラーです"
fh2^4}*}1v#`g0    result = "IDX="&rst.fields(0)&": [エラー]"
Zm4Q2a|:X'P;E0    reporter.ReportEvent micFail ,"Error",result
C*\T!o FRl0    SetFile(result)
GP5skA?0 else51Testing软件测试网&zB$YB:R*gd{
      'msgbox "IDX="&rst.fields(0)&"のケースはOKです"
@k+Ta#zP)z {0   result = "IDX="&rst.fields(0)&": [OK]"
0D){&`k@XF0     SetFile(result)51Testing软件测试网iMA%Q0s]N;Z
 End If
c;^{4__:w0 rst.MoveNext
pF6I8c;N ] ri.^0 objrsa.MoveNext
,\F$[*qqSy&z0 Wend

4U&YRzP*[LI0

O[j(dEp5l8G9b0cnn.close51Testing软件测试网{ x T/lN1@:_S
Set cnn = nothing

/ZGG5^%K051Testing软件测试网8cpG1mA

Sub CreateFile ()51Testing软件测试网8K4N7G*@I2ifx m|"[8b
    Dim fso, tf51Testing软件测试网i0j`-^S'V
 Set fso = CreateObject("scrīpting.FileSystemObject")51Testing软件测试网~ TNx5}0y"G|
 Set tf = fso.CreateTextFile("E:\testfile.txt", True) ' Write a line with a newline character.
#Iv(U]j0 tf.Close51Testing软件测试网-BHg0G4i8f6d
 End Sub

@D3g[/J tP%G1B:|0

9k'X7IEo,U0 Sub SetFile (result)51Testing软件测试网V KJ$ra.w
    Dim fso, tf
m,k[#_H,A"g0 Set fso = CreateObject("scrīpting.FileSystemObject")
U2yPb,O5nvn g0 Set tf = fso.OpenTextFile("E:\testfile.txt",8)
bk.Ce k(?~0 tf.WriteLine(result)51Testing软件测试网;Q9ti6OY:KS
 tf.WriteBlankLines(1)
NsU5@^,Nn G0 tf.Close
_L ?5?d;H-i0^{7s,c0 End Sub

qs wq^051Testing软件测试网'VoB%@$t&YU

   虽然没涉及到Action顶级参数,QTP对象库等比较高端的手段的使用。但我想,对于学习QTP还是很有用的 。希望对正在学习QTP和准备学习QTP的人有帮助。

0ma7y(|dUC0

TAG: QTP

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-16  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 9320
  • 日志数: 16
  • 建立时间: 2007-06-12
  • 更新时间: 2007-06-21

RSS订阅

Open Toolbar