QTP如何连接/查询数据库
-
在日常测试工作中经常会遇到有关于数据的测试,比如数据的正确性,完整性,测试人员造的测试数据预期与实际程序运行结果是否一致,如果这个时候数据量比较多的情况下,通过人工比对无疑是一项非常耗时,而且安全系数不高的工作,今天分享一篇通过自动化测试工具QTP怎么连接和查询数据库,解决数据库无法连接等问题,轻松完成所需要的工作,工作效率和正确性将得到保证。
1、定义一个变量名为Conn的变量,通过set方法创建一个数据库实例
Dim Conn
Set Conn=CreateObject("ADODB.Connection") '创建数据库实例
-
通过mysql ODBC5.1 Driver数据源连接Mysql数据库,并配置mysql数据库的通行证
Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=datebase_name;PWD=password;PORT=3306;SERVER=192.178.***。** ;UID=user_name"
-
校验数据库是否已经成功连接,Reporter.ReportEvent micPass,"testing",这条语句的结果是最后显示在运行后结果的,平时在调试的时候可以使用 msgbox "连接数据库成功",就是弹出一个框,打印引号中的字。
Conn.Open ConnectionString '打开数据库
If Conn.State<>0Then
Reporter.ReportEvent micPass,"testing","连接数据库成功" '校验数据库是否成功连接
msgbox "连接数据库成功"
else
Reporter.ReportEvent micFail,"testing","连接数据库失败"
End If
-
Set str=CreateObject("ADODB.Recordset")'使用set方法创建数据集实例
-
通过sql语句查出需要的数据,然后通过for循环,循环读取数据库中的内容,并将所需要的数据打印出来。
'查询数据库
sql="SELECT shop_id FROM taobao_shop" '这条语句是对数据库的查询命令,这条语句是查询一个表名为taobao_shop的数据,但是只显示shop_id字段
str.Open sql,conn,1,1'1,1表示只读;1,3表示插入数据;2,3表示修改数据
str.MoveFirst'使游标指向第一个记录
sum=""
While Not str.EOF
msgbox str.Fields("shop_id") '测试数据库中某一个字段的数据获取是否正确
For i=0to str.Fields.Count-1'str.Fields.Count表示字段个数
sum=sum & str(i) &""'把整个记录显示出来
Next
Print sum & vbCRLF'打印所有查询的记录
sum="" '清零
str.MoveNext'使游标进入下一个,这里其实就是一个循环,循环去读取SQL语句查询到的数据,然后打印出来。
Wend
-
在完成脚本查询以后不要忘记关闭和释放数据库和实例集。
str.Close '关闭数据集实例
Set str=Nothing '释放数据集
Conn.Close '关闭数据库实例
Set Conn=Nothing '释放数据库连接
-
完整的连接脚本代码:
Dim Conn
Set Conn=CreateObject("ADODB.Connection") '创建数据库实例
'Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=test;PWD=root;PORT=3306;SERVER=localhost;UID=root" '配置数据库通行证
Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=datebase_name;PWD=password;PORT=3306;SERVER=192.178.***。** ;UID=user_name"
Conn.Open ConnectionString
If Conn.State<>0Then
Reporter.ReportEvent micPass,"testing","连接数据库成功" '校验数据库是否成功连接
msgbox "连接数据库成功"
else
Reporter.ReportEvent micFail,"testing","连接数据库失败"
End If
Set str=CreateObject("ADODB.Recordset")'创建数据集实例
'查询数据库
sql="SELECT shop_id FROM taobao_shop"
str.Open sql,conn,1,1'1,1表示只读;1,3表示插入数据;2,3表示修改数据
str.MoveFirst'使游标指向第一个记录
sum=""
While Not str.EOF
msgbox str.Fields("shop_id") '测试查询得到的数据
For i=0to str.Fields.Count-1'str.Fields.Count表示字段个数
sum=sum & str(i) &""'把整个记录显示出来
Next
Print sum & vbCRLF'打印所有查询的记录
sum="" '清零
str.MoveNext'使游标进入下一个
Wend
str.Close '关闭数据集实例
Set str=Nothing
Conn.Close '关闭数据库实例
Set Conn=Nothing
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库