|
前几天看了一篇贴子,关于CLAC的,大概是读取TXT数据文件后,然后将结果输入到xsl文件中的过程。可惜没看到代码。于是自己弄个类似的操作:从ACCESS读取数据后,经过计算器计算再把结果保存到TXT里,比较简单,但还是希望能得到高手的指点:
Dim cn,rs,sql1,lines,b,c,d,e,i,m,n
Dim array1()
Dim array2()
Dim array3()
i=0
Set cn = CreateObject("ADODB.Connection")
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;"
sql = "select * from biao1" '"biao1"为表名
cn.open
Set rs = cn.Execute (sql,lines)
b="Select count(*) as c from biao1"
Set d=cn.Execute (b)
e=d("c")
ReDim Preserve array1(e-1)
While not rs.EOF
do while true
array1(i)=rs.Fields("a") '"a"为列名
i=i+1
If i=i then exit do
Loop
rs.MoveNext
Wend
Set rs = cn.Execute (sql,lines)
b="Select count(*) as c from biao1"
Set d=cn.Execute (b)
e=d("c")
ReDim Preserve array2(e-1)
While not rs.EOF
do while true
array2(m)=rs.Fields("b") '"b"为列名
m=m+1
If m=m then exit do
Loop
rs.MoveNext
Wend
rs.Close
cn.close
ReDim Preserve array3(e-1)
For n=0 to e-1
Window("计算器").Type array1(n)
Window("计算器").WinButton("+").Click
Window("计算器").WinEdit("Edit").Type array2(n)
Window("计算器").WinButton("=").Click
array3(n)=Window("计算器").WinEdit("Edit").GetRoProperty("Text")
next
Dim fso,p
Set fso = CreateObject("scripting.filesystemobject")
set ffile=fso.opentextfile("c:\Res.txt",2,true)
For n=0 to e-1
ffile.Write(array3(n))
ffile.writeblanklines(1)
Next
第一次写得,确实比较烂。最近比较困惑。公司一个产品的版本有很多,想用QTP实现一些自动化的操作,但是版本号一变同一脚本QTP就识别不了了。(基本功能都是差不多),不知道有没有什么好的方法可以实现如果对象属性、控件发生了变化,让QTP能识别出来(手动修改 Respository?)。还有就是在回放时程序出现了异常状况,比如在循环读取数据库文件时,本来非法的账号和密码却成功登陆了,但是最后一次循环才应当是成功登陆,接着进行下面的操作。这是脚本就出现错误,有没有什么方法可以解决类似的问题?(On Error Resume Next?)
另外一个就是突然对自动化测试感到迷茫了。为什么要进行自动化测试?代替手工重复性的劳动?自动化测试的重点一般是那些方面呢?希望高手能指点一二 |
|