51Testing丛书连载:(四十八)精通QTP——自动化测试技术领航

发表于:2012-2-17 10:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

3.4.3  Excel使你可以实现更多

3.4.3.1  利用ADO打造Excel数据库

  ADO是一个可以自动化数据操作的COM组建,这点相信大多数自动化测试工程师都不会陌生,在数据验证方面,ADO是一个利器。但ADO在对Excel做数据验证时同样也具有相当不错的效果。接下来就来看一下具体如何使用ADO来对Excel进行数据验证。

  首先在D盘新建一个Excel数据文件,并按照图3-38所示的格式输入数据。

图3-38

  这里需要注意一下,如果需要使用ADO数据源方式来操作Excel,就必须按照图中的格式,ADO默认Excel的每个Sheet为一个表,而每个Sheet的第一行即为字段名,从第二行开始即为字段值。每个字段值会根据当前的列与字段名一一对应。如果读者把此Excel文件导入到QTP的DataTable中,就会发现一个细节,DataTable读取Excel的方式和ADO数据源读取Excel方式的格式是相同的,导入之后,DataTable自动把第一行数据作为字段名来处理,如图3-39所示。

图3-39

  在上一章ADO数据库操作中已经介绍了ADO的使用步骤,接下来就按照前面的步骤来进行。首先需要对ADO数据库操作,肯定是需要进行数据库连接,而需要连接数据库就必须要先获取到数据库连接字符串,获取到连接字符串的方式一共有3种,具体使用哪一种读者可自行挑选,此处就直接给出连接字符串了:"DSN=Excel Files;DBQ=D:\1.xls;"。

  DSN后面的值为数据源名称,DBQ代表需要连接的Excel所在的路径。获得了字符串后,接下来就是编写SQL语句,这里给出一个最常用的例子:"select * from [Sheet1$]",前面提到过Excel的每个Sheet即为SQL的表名,但是在Excel中需要注意的是,SQL语句中如果需要描述表名,需要在后面添加一个“$”符号才能识别,读者要注意这一点,不要遗漏了。准备工作都已经完成了,下面就来看一下具体是如何操作的:

'定义SQL连接字符串

sqlConnection = "DSN=Excel Files;DBQ=D:\1.xls;"

'定义SQL语句

sqlCommand = "select * from [Sheet1$]"

'创建ADO对象

Set oExcel = CreateObject("adodb.connection")

'打开数据连接

oExcel.Open sqlConnection

'执行SQL语句并获得查询结果集

Set oRst = oExcel.Execute(sqlCommand)

'获取username字段名对应的字段值

MsgBox oRst.Fields("username")

'关闭数据库

oExcel.Close

'释放资源

Set oRst = Nothing 

Set oExcel = Nothing

  执行结果如图3-40所示。

图3-40

  成功获取到username字段名对应的字段值,通过这种方式来管理数据源是一种相当高效的手段,在下一小节会详细讲解,如果使用ADO与数据字典结合来完成一种更加高效的数据驱动方式。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号