QTP如何连接/查询数据库


  1. 在日常测试工作中经常会遇到有关于数据的测试,比如数据的正确性,完整性,测试人员造的测试数据预期与实际程序运行结果是否一致,如果这个时候数据量比较多的情况下,通过人工比对无疑是一项非常耗时,而且安全系数不高的工作,今天分享一篇通过自动化测试工具QTP怎么连接和查询数据库,解决数据库无法连接等问题,轻松完成所需要的工作,工作效率和正确性将得到保证。

    工具/原料

    • QTP测试软件

    • windows系统配置mysql数据源

    1、定义一个变量名为Conn的变量,通过set方法创建一个数据库实例

    Dim Conn

    Set Conn=CreateObject("ADODB.Connection") '创建数据库实例

  2. 2

    通过mysql ODBC5.1Driver数据源连接Mysql数据库,并配置mysql数据库的通行证

    Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=datebase_name;PWD=password;PORT=3306;SERVER=192.178.***。** ;UID=user_name"

  3. 3

    校验数据库是否已经成功连接,Reporter.ReportEvent micPass,"testing",这条语句的结果是最后显示在运行后结果的,平时在调试的时候可以使用msgbox "连接数据库成功",就是弹出一个框,打印引号中的字。

    Conn.Open ConnectionString '打开数据库

    If Conn.State<>0Then

    Reporter.ReportEvent micPass,"testing","连接数据库成功" '校验数据库是否成功连接

    msgbox "连接数据库成功"

    else

    Reporter.ReportEvent micFail,"testing","连接数据库失败"

    End If

  4. 4

    Set str=CreateObject("ADODB.Recordset")'使用set方法创建数据集实例

  5. 5

    通过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

  6. 6

    在完成脚本查询以后不要忘记关闭和释放数据库和实例集。

    str.Close '关闭数据集实例

    Set str=Nothing '释放数据集

    Conn.Close '关闭数据库实例

    Set Conn=Nothing '释放数据库连接

  7. 7

    完整的连接脚本代码:

    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

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn