使用VBScript开发自动化测试脚本
 

2009-06-04 作者:aken 来源:Test8848.net

 

很多人都觉得微软的VBScript功能比较弱,如果从开发自动化测试的角度来讲,更是不可能了。从我对VBScript脚本的了解来看,对一个脚本是否可以做自动化测试需要这个测试人员具备两方面的知识,第一个,就是对VBScript脚本开发语言精通,要了解VBScript的核心技术如何更广泛的应用;第二个,就是要有自动化的测试思想,这个一定得是做过测试工作的能够了解的多一些。

我在软件测试这个行业也是做过很多年了,自己的方向也是自动化测试,对VBScript脚本也算是了解,在测试过程中也应用了一些,所以来谈谈如何使用VBScript来开发自动化测试。

首先先介绍几个可以在自动化测试开发中用到的VBScript的几个函数。

1、InStr 函数

描述

返回某字符串在另一字符串中第一次出现的位置。

语法

InStr([start, ]string1, string2[, compare])

InStr 函数的语法有以下参数:

示例:

这个函数说明的是一个字符串在另一个字符串中出现的位置,在自动化测试中,经常用作比较结果来使用。

比如:

2、Split 函数

描述

返回基于0的一维数组,其中包含指定数目的子字符串。

语法

Split(expression[, delimiter[, count[, start]]])

Split 函数的语法有以下参数:

示例:

这个函数主要用于拆分字符串用,在自动化测试开发中主要用于拆分测试数据。

比如:

3、InputBox函数

描述

在对话框中显示提示,等待用户输入文本或单击按钮,并返回文本框内容。

语法

InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])

示例:

这个函数主要用于捕获用户输入的信息,在自动化测试开发中可用于脚本分类执行。

比如:

4、MsgBox函数

描述

在对话框中显示消息,等待用户单击按钮,并返回一个值指示用户单击的按钮。

语法

MsgBox(prompt[, buttons][, title][, helpfile, context])

示例:

这个函数主要用于输出信息,在自动化测试开发中可作为提示和警告,还可以通过人工判断输出测试结果等。

比如:

5、UBound函数

描述

返回指定数组维数的最大可用下标。

语法

UBound(arrayname[, dimension])

示例:

这个函数主要用于捕获数组中的数据个数,在自动化测试开发中可用于获得测试数据。

比如:

6、Left、Right和Mid函数

描述

返回指定数目的从字符串的左边算起的字符。

语法

Left(string, length)

描述

从字符串右边返回指定数目的字符。

语法

Right(string, length)

描述

从字符串中返回指定数目的字符。

语法

Mid(string, start[, length])

示例:

这个函数主要用于截取字符串,在自动化测试开发中可用于获取需要的字符串。

比如:

上面简单介绍了几个VBScript的函数的用法,接着我们来谈谈自动化测试,目前我们提到的自动化测试,其实默认表示的是功能(GUI)的自动化测试,这类自动化测试有几个主要特点。第一,能够实现对GUI上面的对象进行操作,比如单击按钮、输入信息等;第二,能够读取外部数据,即实现数据驱动的自动化测试;第三,能够进行实际结果和预期结果比较,也就是很多人了解的检查点或者叫验证点;第四,能够输出测试结果,是通过还是失败,如果失败,还需要得到失败的信息。

对于实现第二和第四个特点,测试脚本必须具有读取外部数据和输出数据的能力,这时仅仅依靠 VBScript那几个函数就不能解决这个问题。在VBScript虽然类的概念比较弱,但对象在VBScript中应用是非常广泛的,其中FileSystemObject对象可以轻松的实现对文本文件读取和写入。
那么我们先看看怎么使用FileSystemObject对象。先在文本框中输入下面的代码,保存成.vbs的文件,双击运行试试。本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/aken_wang/archive/2008/03/31/2233701.aspx

―――――――――――――――――――――――――――――――――――――――

FileSystemObject对象

描述

提供对计算机文件系统的访问。

语法

Scripting.FileSystemObject

―――――――――――――――――――――――――――――――――――――――

根据上面FileSystemObject对象的语法,如果要使用这个对象,首先我们需要创建。
Set objFSO = CreateObject("Scripting.FileSystemObject")

FileSystemObject对象包括很多的方法:

可以使用OpenTextFile和CreateTextFile来创建和打开文件,会返回一个TextStream对象。

―――――――――――――――――――――――――――――――――――――――

TextStream对象

描述

有助于顺序访问文件。

语法

TextStream.{property | method}

property和method参数可以是任何与TextStream对象相关联的属性和方法。注意在实际使用时,TextStream对象由代表从 FileSystemObject返回的TextStream对象的变量取代。

―――――――――――――――――――――――――――――――――――――――

TextStream对象包括很多的方法和属性:

从上表中可以看到,使用Read方法和ReadLine方法可以实现数据读取,使用Write方法和WriteLine方法可以实现数据写入。但在读取和写入完成后,需要使用Close方法关闭创建的文件。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织