VBS在QTP中的实用脚本

'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 2007
'
' NAME: Ivan
' DATE  : 2012/6/2
'
' COMMENT:
'
'==========================================================================

 


Option Explicit

读取datatable里的数据,用计算器进行计算

for i=1 to datatable.GetRowCount

   datatable.SetRowCount i

   for t=1 to len(datatable.value("A"))

       WIndow("计算器").WinButton(mid(datatable.value("A"),t,1)).Click

   Next

Next   

 

 

' '循环嵌套实现加减乘除
' Dim num1,num2,calc,Result
' num1=InputBox("Please input num1","Num1","18")
' num2=InputBox("Please input num2","Num1","15")
' calc=InputBox("Please input calc","calc","/")
' If calc="+" Then
'  Result=Cdbl(num1)+Cdbl(num2)
' ElseIf calc="-" Then
'  Result=CDbl(num1)-CDbl(num2)
' ElseIf calc="*" Then
'  Result=Cdbl(num1)*Cdbl(num2)       
' ElseIf calc="/" Then
'  Result=Cdbl(num1)/Cdbl(num2)       
' End If          
' MsgBox Result


''Select分支实现加减乘除
' Dim num1,num2,calc,Result
' num1=InputBox("Please input num1","Num1","18")
' num2=InputBox("Please input num2","Num1","15")
' calc=InputBox("Please input calc","calc","*")
' Select Case calc
'  Case "+" Result=Cdbl(num1)+Cdbl(num2)
'  Case "-" Result=Cdbl(num1)-Cdbl(num2)
'  Case "*" Result=Cdbl(num1)*Cdbl(num2)
'  Case "/" Result=Cdbl(num1)/Cdbl(num2)
' End Select
' MsgBox Result
'   
'

' Dim CalcStr,CalcArr,i,Result
' CalcStr=InputBox("Please input CalcStr","CalcStr","12,*,13,/,6,-,6")
''通过分割得到数组
' CalcArr=Split(CalcStr,",")
' Result=Cint(CalcArr(0))
' For i=1 To UBound(CalcArr)
'  Select Case CalcArr(i)
'   Case "+" Result=Result+CInt(CalcArr(i+1))
'   Case "-" Result=Result-CInt(CalcArr(i+1))
'   Case "*" Result=Result*CInt(CalcArr(i+1))
'   Case "/" Result=Result/CInt(CalcArr(i+1))
'  End Select
' Next
' MsgBox Result

' '-------------------------------------------------------
' '通过分割字符串实行加减乘除运算
' '-------------------------------------------------------
' Dim CalcStr,CalcStr1,CalcArr,i,Result,j
' CalcStr=InputBox("Please input CalcStr","CalcStr","12*13/6-6")
' '遍历整个字符串
' For j=1 To Len(CalcStr)
' '插入逗号
'  If Not IsNumeric(Mid(CalcStr,j,1)) Then
'  CalcStr1=CalcStr1&","&Mid(CalcStr,j,1)&","
'   Else CalcStr1=CalcStr1&Mid(CalcStr,j,1)
'     End If
' Next   
'    
' '分割并输出结果   
' CalcArr=Split(CalcStr1,",")
' Result=Cint(CalcArr(0))
' For i=1 To UBound(CalcArr)
'  Select Case CalcArr(i)
'   Case "+" Result=Result+CInt(CalcArr(i+1))
'   Case "-" Result=Result-CInt(CalcArr(i+1))
'   Case "*" Result=Result*CInt(CalcArr(i+1))
'   Case "/" Result=Result/CInt(CalcArr(i+1))
'  End Select
' Next
' MsgBox Result


' '-------------------------------------------
' '获取随机运算的一组数据
' '--------------------------------------------
'
' MsgBox CalcRnd()
'
' Function CalcRnd()
' Dim NumArr(5),CalcStr,i,CalcArr(4),Num,j,k
' '随机获取6个数字并赋予数组变量
' For i=0 To UBound(NumArr)
' Randomize
' NumArr(i)=CInt(Rnd*99+1)
' Next

' '随机获取一个运算符
' For j=0 To UBound(CalcArr)
' Randomize
' Num=CInt(Rnd*3+1)
' Select Case Num
'  Case 1 CalcArr(j)="+"
'  Case 2 CalcArr(j)="-"
'  Case 3 CalcArr(j)="*"
'  Case 4 CalcArr(j)="/"
' End Select
' Next
'
' '拼凑字符串
' CalcStr=NumArr(0)
' For k=0 To UBound(CalcArr)
'  CalcStr=CalcStr&CalcArr(k)&NumArr(k+1)
' Next
' CalcRnd=CalcStr
' End Function


'
' '---------------------------------
' '调用计算器进行随机数的计算
' '---------------------------------
' Dim WShell,CalcStr,n
' CalcStr=CalcRnd
' WScript.Echo CalcStr
'
' Set WShell=CreateObject("WScript.Shell")
' WShell.Run"Calc.exe"
' WShell.AppActivate"Calc.exe"
' WScript.Sleep 1200
' For n=1 To Len(CalcStr)
' Select Case Mid(CalcStr,n,1)
'  Case "+" WShell.SendKeys "{+}"
'  Case "*" WShell.SendKeys "{*}"
'  Case Else WShell.SendKeys Mid(CalcStr,n,1)
' End Select
' WScript.Sleep 1000
' Next
'
' Function CalcRnd()
' '生成6个1~100的随机数
' Dim NumArr(5),i,CalcArr(4),CalcStr,Num,j,k
' For i=0 To UBound(NumArr)
' Randomize
' NumArr(i)=CInt(Rnd*99+1)
' Next

' '生成5个随机运算符
' For j=0 To UBound(CalcArr)
' Randomize
' Num=CInt(Rnd*3+1)
' Select Case Num
'  Case 1 CalcArr(j)="+"
'  Case 2 CalcArr(j)="-"
'  Case 3 CalcArr(j)="*"
'  Case 4 CalcArr(j)="/"
' End Select
' Next
'
' '生成6个随机数和5个运算符进行运算
' CalcStr=NumArr(0)
' For k=0 To UBound(CalcArr)
'  CalcStr=CalcStr&CalcArr(k)&NumArr(k+1)
' Next
' CalcRnd=CalcStr
' End Function

'-------------------------------------
'读文件
'-------------------------------------
' Dim fso,file
' Set fso=CreateObject("Scripting.FileSystemObject")
' Set file=fso.OpenTextFile("C:\QTP\Doc\file for testing\read.txt")
' Do While Not file.AtEndOfStream
'  MsgBox file.ReadLine
' Loop
' file.Close
' Set file=Nothing
' Set fso=Nothing


' '--------------------------------------
' '写入内容到文件
' '--------------------------------------
' Dim fso,file
' Set fso=CreateObject("Scripting.FileSystemObject")
' Set file=fso.CreateTextFile("C:\QTP\Doc\file for testing\write.txt")
' file.WriteLine "23+14="
' file.WriteBlankLines 2
' file.Write "12"
' Set file=Nothing
' Set fso=Nothing

' '----------------------------------------
' '把随机数和随机运算符写入txt文件
' '----------------------------------------
' Dim fso,file,CalcStr,i
' Set fso=CreateObject("Scripting.FileSystemObject")
' Set file=fso.CreateTextFile("C:\QTP\Doc\file for testing\create.txt")
' WScript.Echo CalcRnd
' For i=1 To 10
'  CalcStr=CalcStr&CalcRnd()&Chr(13)&Chr(10)
' Next
' file.Write CalcStr
' Set file=Nothing
' Set fso=Nothing
'
' Function CalcRnd()
'
' Dim NumArr(5),i,CalcArr(4),CalcStr,Num,j,k
' For i=0 To UBound(NumArr)
' Randomize
' NumArr(i)=CInt(Rnd*99+1)
' Next

'
' For j=0 To UBound(CalcArr)
' Randomize
' Num=CInt(Rnd*3+1)
' Select Case Num
'  Case 1 CalcArr(j)="+"
'  Case 2 CalcArr(j)="-"
'  Case 3 CalcArr(j)="*"
'  Case 4 CalcArr(j)="/"
' End Select
' Next
'
' CalcStr=NumArr(0)
' For k=0 To UBound(CalcArr)
'  CalcStr=CalcStr&CalcArr(k)&NumArr(k+1)
' Next
' CalcRnd=CalcStr
' End Function
'----------------------------------
'把测试数据读出来并执行
'----------------------------------
' Dim fso,file,CalcStr,i,Wshell,n
' Set fso=CreateObject("Scripting.FileSystemObject")
' Set file=fso.OpenTextFile("C:\QTP\Doc\file for testing\create.txt")
' Set WShell=WScript.CreateObject("Wscript.Shell")
' WShell.Run "calc.exe"
' WShell.AppActivate "calc.exe"
' WScript.Sleep 1000
' Do While Not file.AtEndOfStream
'  CalcStr=file.ReadLine()
'  For n=1 To Len(CalcStr)
'   Select Case Mid(CalcStr,n,1)
'    Case "+" WShell.SendKeys "{+}"
'    Case "*" WShell.SendKeys "{*}"
'    Case Else WShell.sendkeys Mid(CalcStr,n,1)
'   End Select
'  WScript.Sleep 500
'  Next
'  WShell.SendKeys "="
'  WScript.Sleep 500
'  WShell.SendKeys "0"
'  WScript.Sleep 500
' Loop
' file.Close
' Set file=Nothing
' Set fso=Nothing

'-----------------------------------
'从Excel中读取数据
'-----------------------------------
' Dim xlsApp,wkBook,wkSheet,cnt,i,colcnt,j
' Set xlsApp=CreateObject("Excel.Application")
' Set wkBook=xlsApp.Workbooks.Open("C:\QTP\Doc\file for testing\read.xlsx")
' Set wkSheet=wkBook.Worksheets("Sheet1")
'------------------------------------
'输出Excel中的所有数据
'-------------------------------------
' cnt=wkSheet.UsedRange.Rows.Count
' colcnt=wkSheet.UsedRange.Columns.Count
' For i=1 To cnt
'  For j=1 To colcnt
'  MsgBox wkSheet.Cells(i,j)
'  Next
' Next
' wkBook.Close
' xlsApp.Quit
' Set wkSheet=Nothing
' Set wkBook=Nothing
' Set xlsApp=Nothing


'--------------------------------------
'写数据到Excel中
'-------------------------------------- 
Dim xlsApp,wkBook,wkSheet,CalcStr,i
Set xlsApp=CreateObject("Excel.Application")
Set wkBook=xlsApp.Workbooks.Open("E:\a\a.xlsx")
Set wkSheet=wkBook.Worksheets("Sheet2")
wkSheet.Cells(1,1)="Case No."
wkSheet.Cells(1,2)="Case step"
wkSheet.Cells(1,3)="Expect Result"
wkSheet.Cells(1,4)="Actual Result"
wkSheet.Cells(1,5)="Desic"
For i=2 To 12
 If i>=11 Then
  wkSheet.Cells(i,1)="Calc_ST_0"&CStr(i-1)
  Else wkSheet.Cells(i,1)="Calc_ST_00"&CStr(i-1)
 End If
 CalcStr=CalcRnd()
 wkSheet.Cells(i,2)=CalcStr
 wkSheet.Cells(i,3)=Eval(CalcStr)
Next
wkBook.save
wkBook.Close
xlsApp.Quit
Set wkSheet=Nothing
Set wkBook=Nothing
Set xlsApp=Nothing


Function CalcRnd()
Dim NumArr(5),i,CalcArr(4),CalcStr,Num,j,k
For i=0 To UBound(NumArr)
Randomize
NumArr(i)=CInt(Rnd*99+1)
Next
 

For j=0 To UBound(CalcArr)
Randomize
Num=CInt(Rnd*3+1)
Select Case Num
 Case 1 CalcArr(j)="+"
 Case 2 CalcArr(j)="-"
 Case 3 CalcArr(j)="*"
 Case 4 CalcArr(j)="/"
End Select
Next

CalcStr=NumArr(0)
For k=0 To UBound(CalcArr)
 CalcStr=CalcStr&CalcArr(k)&NumArr(k+1)
Next
CalcRnd=CalcStr
End Function


' '数据库连接
' Dim Cnn,Rst,StrCnn
' StrCnn="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\数据库读写\calc.mdb;Persist Security Info=False"
' Set Cnn=CreateObject("ADODB.Connection")
' Cnn.Open StrCnn
' Set Rst=CreateObject("ADODB.Recorderset")
' Rst.Open "Select * From calc",Cnn
' Rst.MoveFirst
' Do While Not Rst.EOF
'  MsgBox Trim(Rst.Fields("TestNumber1"))&Trim(Rst.Fields("Calc"))&Trim(Rst.Fields("TestNumber2"))&"="
'  Rst.MoveNext
' Loop
' Rst.Close
' Cnn.Close
' Set Rst=Nothing
' Set Cnn=Nothing
'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值