zoukankan      html  css  js  c++  java
  • QTP-MySql+对象库实例

    首先QTP要连接MySql 先确保机器上有MySql的数据源 没有的话去网上下一个装上把。

    我这里用的是Mysql 5.1的数据源 ,装完后,在桌面新建一个TXT文档,然后修改后缀改为udl,就变成了数据链接这样子,打开它,你会发现《提供程序》内就没有Mysql这个名字的程序 ,但是在windows的管理工具数据源内能找Mysql 5.1的名字也可以添加,后来找了好久才知道原来Mysql在数据链接内是叫 Miceosoft OLE DB Provider for ODBC Drivers 这个名字。

    现在找到了名字 接下来就是设置《连接》的属性,数据源名称可以随意填写,下面的用户名和密码就需要MySql的管理人员给权限。当都设置好了,点击测试连接,显示连接成功的话就是能正常启动了。

     

    上面配置好了以后,我们用记事本的方式打开*.udl,里面有这些内容 我们只需要复制红线那部分,这部分为链接地址

     

    好了 接下来就进入编写阶段了

     

    实现功能

    1:读取数据库 USER_ 表内的 SCREEN 和 SEREENNAME 这两列下含有"test_"字符串的数据,

    2:循环写入一个登陆界面,实现正确登陆

    3:验证点,登陆完毕后主界面会有一个对象内显示 Welcome test01! ,用描述性编程找到该对象获取其中我所需要的属性值进行验证

    Dim conn
    Dim name
    Dim sql

    Dim suu

    Dim inn '检查字段

    SystemUtil.Run "http://192.168.0.233/web/guest/home"

    '这一段就是复制当时记事本里的那一段语句 这段语句有个问题就是 自己要手动往里添加用户密码噢 所以我再里面加了一个Password=1111

    Mysql="Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Password=1111;Data Source=sqltest"

    'select screenName,screenName from user_ where screenName like 'test__'; 

    '这段话表示说 搜索数据库内 USER_ 表内 screenName,screenName 这2个列里面所有包含 test 的数据
    sql="select screenName,greeting from user_ where screenName like 'test__';"
    Set conn=CreateObject("ADODB.CONNECTION")
    conn.Open Mysql

    If conn.State<>0 Then
        Reporter.ReportEvent micPass,"连接成功","连接成功"
    else
    Reporter.ReportEvent mimicFail,"连接失败","连接失败"
    End If


    Set res=CreateObject("ADODB.Recordset")
    res.Open sql,conn,1,1 '1,1表示只读;1,3表示插入数据;2,3表示修改数据
    res.MoveFirst'使游标指向第一个记录
    sum=""


    'res.EOF表示游标到达最后一行
      While Not res.EOF  
      '读取整个表内的所有数据
    '    For i=0 to res.Fields.Count-1'str.Fields.Count表示字段个数   
    '     sum=sum& res(i) & " " '把整个记录显示出来   
    '   Next  

    '获取数据库内 screenName 列的每一行数据
    sum=res("screenName")

    '截取字符串内 从左到右4位字符
    suu=Left(sum,4)

    If suu = "test" Then

    '检查字段变量
    inn=res("greeting")
    '录制登陆过程 把账号密码做参数化
    Browser("测试比对样品 - 登录").Page("测试比对样品 - 登录").WebEdit("_58_login").Set sum @@ hightlight id_;_Browser("测试比对样品 - 登录").Page("测试比对样品 - 登录").WebEdit(" 58 login")_;_script infofile_;_ZIP::ssf1.xml_;_
    Browser("测试比对样品 - 登录").Page("测试比对样品 - 登录").WebEdit("_58_password").set"1111" @@ hightlight id_;_Browser("测试比对样品 - 登录").Page("测试比对样品 - 登录").WebEdit(" 58 password")_;_script infofile_;_ZIP::ssf2.xml_;_
    Browser("测试比对样品 - 登录").Page("测试比对样品 - 登录").WebButton("登录").Click
    '这里是使用SPY抓取获取到对象属性值,对该对象2个属性进行描述性编程 对象库内不要放入被描述的对象 ,然后使用 .GetROProperty方法获取所需要对象属性值 
    '这里抓取了2个对象进行描述是应为2个该对象使用1个对象进行描述时,界面上还有其他对象的属性是一样的,所以描述对象时 尽量抓取对象独有的属性,当一个属性描述找不到时,就再增加一个属性描述
    nn=Browser("测试比对样品 - 稿件管理").Page("测试比对样品 - 稿件管理").WebElement("innertext:=Welcome "&sum&"!","html tag:=SPAN").GetROProperty("innerhtml")
    '设置检查点
    If nn=inn Then
    print "nn="&nn&"   inn="&inn
        Reporter.ReportEvent micPass,"检查点","PASS"
        else
        Reporter.ReportEvent micFail,"检查点","Ng"
    End If

    Browser("测试比对样品 - 稿件管理").Page("测试比对样品 - 稿件管理").Link("text:=退出").Click
    End If

    'Print sum & vbCRLF'打印所有查询的记录   VBCRLF 换行语句
    res.MoveNext'使游标进入下一个
    Wend 

     @@ hightlight id_;_Browser("测试比对样品 - 稿件管理").Page("测试比对样品 - 稿件管理").Link("退出")_;_script infofile_;_ZIP::ssf6.xml_;_

    报告显示结果

     

  • 相关阅读:
    oracle中的事务
    delect 删除
    update更新修改数据
    insert插入数据
    复制表、复制表结构、复制数据
    子查询
    分组函数
    C++实现红外Fir谱图文件转BMP图片文件
    windows下安装mysql-5.7.20-winx64
    数据库设计——数值类型
  • 原文地址:https://www.cnblogs.com/sgtb/p/3720178.html
Copyright © 2011-2022 走看看