ADO——ActiveX Data Objects使用VBScript脚本语言调用ADO组件来进行数据操作。优势脚本灵活性高可实现的功能也较多可以随意地把要实现的数据操作封装成函数。前置UFT连接MySQL ODBC_nee~的博客-CSDN博客Connection对象掌管数据库的连接和关闭功能。Dim adoConn 定义ADO连接对象 Dim ConnectionStr 定义数据库连接字符串 获取数据库连接字符串 ConnectionStr DSNMySQL ODBC sys;SERVER127.0.0.1;UIDroot;PWDroot;DATABASEsakila;PORT3306 创建数据库连接对象 Set adoConn CreateObject(adodb.Connection) 利用数据库连接字符串打开数据库 adoConn.Open ConnectionStr 此处进行数据库操作 关闭数据库 adoConn.Close 释放数据库对象 Set adoConn NothingCommand对象完成SQL语句的执行。RecordSet对象存放执行后的数据结果集。查询数据库Execute方法此方法可以对数据库直接进行SQL语句执行操作并且能够对其执行结果进行返回返回结果为RecordSet。最后通过RecordSet对象的Field属性获取到字段值。Dim adoConn 定义ADO连接对象 Dim ConnectionStr 定义数据库连接字符串 获取数据库连接字符串 ConnectionStr DSNMySQL ODBC;SERVER127.0.0.1;UIDroot;PWDroot;DATABASEgloria;PORT3306 获取数据库查询语句 sqlStr Select * from user where LastName Wang 创建数据库连接对象 Set adoConn CreateObject(adodb.Connection) 利用数据库连接字符串打开数据库 adoConn.Open ConnectionStr 执行sql语句并返回对应的结果集 Set adoRst adoConn.Execute(sqlStr) 获取结果集中年龄字段的值 Msgbox adoRst.Fields.Item(age).Value 关闭数据库 adoConn.Close 释放数据库对象 Set adoConn Nothing如果结果有多行记录可以使用游标For i 1 To adoRst.Fields.CountMsgbox adoRst.Fields.Item(age).ValueadoRst.MoveNextNextEOF: End of LineWhile Not adoRst.EOFMsgbox adoRst.Fields.Item(age).ValueadoRst.MoveNextWend数据库修改F:\study\UFT\sql.txt文件循环执行把所有的SQL语句分割成数组并把数组全部取出来循环执行SQLDim adoConn 定义ADO连接对象 Dim ConnectionStr 定义数据库连接字符串 获取数据库连接字符串 ConnectionStr DSNMySQL ODBC;SERVER127.0.0.1;UIDroot;PWDroot;DATABASEgloria;PORT3306 获取数据库查询语句集合 SQLCommands GetSQLCommands(F:\study\UFT\sql.txt) 创建数据库连接对象 Set adoConn CreateObject(adodb.Connection) 利用数据库连接字符串打开数据库 adoConn.Open ConnectionStr 循环执行sql语句 For i 0 To UBound(SQLCommands) adoConn.Execute SQLCommands(i) Next 关闭数据库 adoConn.Close 释放数据库对象 Set adoConn Nothing Function GetSQLCommands(sqlPath) 创建fso模型对象 Set fso CreateObject(Scripting.FileSystemObject) Set f fso.OpenTextFile(sqlPath) 获取txt中的所有文本 allSQLCommand f.ReadAll 对所有文本通过回车进行分割把sql语句分割成数组 Chr()从 0 到 31 之间的数字表示不可打印的 ASCII 代码例如 Chr(10) 将返回一个换行符。 sqlcommands Split(allSQLCommand,Chr(10)) 返回所有sql语句数组 GetSQLCommands sqlcommands 释放txt Set f Nothing 释放fso Set fso Nothing End Function结果参数化使其更通用******************************************************************************************************************** Description:数据库验证函数 Argument: ConnectionStr 数据库连接字符串 sqlStr sql语句 verifyProperty 需要验证的字段名 expectValue 验证期待值 ******************************************************************************************************************** Function VerifySQLData(ConnectionStr,sqlStr,verifyProperty,expectValue) 创建数据库连接对象 Set adoConn CreateObject(adodb.Connection) 利用数据库连接字符串打开数据库 adoConn.Open ConnectionStr 执行sql语句并返回对应的结果集 Set adoRst adoConn.Execute(sqlStr) 获取实际值 actualValue adoRst.Fields.Item(verifyProperty).Value 对比预期值和实际值 If cstr(expectValue) cstr(actualValue) Then Reporter.ReportEvent micPass,SQL_DATA_CHECK,[actualValue expectValue cstr(actualValue) ] Else Reporter.ReportEvent micFail,SQL_DATA_CHECK,[expectValue cstr(expectValue) actualValue cstr(actualValue) ] End If 关闭数据库 adoConn.Close 释放数据库对象 Set adoConn Nothing End Function VerifySQLData DSNMySQL ODBC;SERVER127.0.0.1;UIDroot;PWDroot;DATABASEgloria;PORT3306,Select * from user where LastName Wang,age,22结果关键参数进行环境变量的配置把一些关键参数进行环境变量的配置以便以后有任何变更可直接在配置文件里修改而不是去更改脚本中的数值。新建DB Configuration.xml文件在 UFT-File-Settings-Environment-用户定义 导入只需更改调用函数的那行代码就行获取数据库连接字符串 ConnectionStr DSNMySQL ODBC;SERVER127.0.0.1;UIDroot;PWDroot;DATABASEgloria;PORT3306 ******************************************************************************************************************** Description:数据库验证函数 Argument: ConnectionStr 数据库连接字符串 sqlStr sql语句 verifyProperty 需要验证的字段名 expectValue 验证期待值 ******************************************************************************************************************** Function VerifySQLData(ConnectionStr,sqlStr,verifyProperty,expectValue) 创建数据库连接对象 Set adoConn CreateObject(adodb.Connection) 利用数据库连接字符串打开数据库 adoConn.Open ConnectionStr 执行sql语句并返回对应的结果集 Set adoRst adoConn.Execute(sqlStr) 获取实际值 actualValue adoRst.Fields.Item(verifyProperty).Value 对比预期值和实际值 If cstr(expectValue) cstr(actualValue) Then Reporter.ReportEvent micPass,SQL_DATA_CHECK,[actualValue expectValue cstr(actualValue) ] Else Reporter.ReportEvent micFail,SQL_DATA_CHECK,[expectValue cstr(expectValue) actualValue cstr(actualValue) ] End If 关闭数据库 adoConn.Close 释放数据库对象 Set adoConn Nothing End Function VerifySQLData Environment.Value(ConnectionStr),Select * from user where LastName Wang,age,22结果利用ADO打造Excel数据库在数据验证方面ADO是一个利器。但ADO在对Excel做数据验证时同样也具有相当不错的效果。ADO默认Excel的每个sheet为一个表而每个Sheet的第一行即为字段名从第二行开始即为字段值。每个字段值会根据当前的列与字段名一一对应。UFT中DataTable读取Excel的方式和ADO数据源读取Excel的方式是相同的。导入之后DataTable自动把第一行数据作为字段名来处理。