四 Visual Basic在自动化测试工作的应用举例
下面列举了一些在实际测试工作中应用Visual Basic通过简单的编码实现测试自动化或相关工作的例子,如记录测试结果信息、简单的GUI测试等。
1 利用文本文件记录测试信息
例1
Open "testlog.txt" For Input As #1 ‘打开记录文件
Print #1,FileDateTime(“c:\windows\calc.exe”) ‘记录被测试程序创建的日期和时间
Print #1,FileLen("c:\windows\calc.exe") '记录被测试程序的长度
Print #1,CurDir '记录当前目录路径
Print #1,Environ("Windir") '记录当前Windows 目录路径
Print #1,Now '记录测试开始日期和时间
……. ‘记录测试过程信息
Close #1 ‘关闭记录文件
在测试过程中经常要做的一项工作是为了查找错误信息而检查应用程序的登录文件,这些登录文件通常是文本文件,而对任何编程语言来说利用本身基本的文件操作函数都很容易取打开和读取这些文件。而另一项工作是记录测试过程信息和测试结果,它实质上跟上面所说的是使用相同的函数功能:一个简单的记录方法是将测试结果写进一个文本文件。例1所示的代码就是实现了这些记录功能。
2 GUI功能测试
例2
Shell("c:\windows\calc.exe") '启动计算器
For i = 1 To 100 '设置计算循环
SendKeys I & "{+}", True '发送击键动作到计算器
Next I '累加每一次I的值
SendKeys "=", True '计算总和
在黑盒测试中,实现自动化测试要编写测试脚本去模拟用户日常的操作输入。使用Visual Basic的Shell函数和Sendkeys函数可以简单有效地实现一些GUI功能测试。
例子2的所示代码打开了一个Windows计算器,然后发送击键动作模拟用户输入,计算一系列数值(1到100)的总和;启动程序调用Visual Basic的Shell函数,SendKeys指令被用来发送击键动作到应用程序去模拟用户输入和计算结果。
3 读取和设置注册表信息
例3
Dim astrSettings() as string ‘定义变量
lstSettings.Clear ‘清除列表框内容
astrSettings = GetAllSettings(testAppname, txtSection) ‘调用专用函数返回VB
‘专用位置的注册表信息
For iCount = 0 To UBound(astrSettings) ‘通过循环将注册表信息
‘显示在列表框中
lstSettings.AddItem astrSettings(iCount, 0) & ": " _
& astrSettings(iCount, 1)
Next iCount
注:testAppname是被测试应用程序的名称
测试人员很多时候都要检查注册表,注册表是一个存储应用程序安装设置、选项等重要信息的地方。Visual Basic 6.0 包含了一些可以从预留给Visual Basic 应用软件专用的注册表键值位置返回信息的新的功能函数。这些功能函数简单地设置和返回这些注册表键值,这对测试用Visual Basic 开发的应用程序尤其有用。
例子3所示代码返回注册表中位置"HKEY_CURRENT_USER\VB and VBA Program Settings\"中的所有注册表信息并把这些信息显示在一个名为lstSettings的列表框中。如要存取其他位置的注册表信息,需要调用Windows API函数。
五 小结
由此可见,为弥补当前自动化测试工具的不足,选择用一些编程开发语言编写一些测试脚本或测试辅助工具在实际工作中证明是切实可行的,而Visual Basic 6.0由于其强大的功能,易学易用,有广泛用户群基础等优点而成为应用于测试自动化比较有应用前景的工具之一。
参考书目
1 《软件测试自动化技术》美 Mark Fewster & Dorothy Graham 著,电子工业出版社 2000年1月
2 《软件工程---实践者的研究方法》(美)Rgoer S.Press著,机械工业出版社,2000年9月
3 《Visual Bsaic 6 技术内幕》(美)Steven Holzner著,机械工业出版社,1999年4月