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_;_

报告显示结果

 

 

QTP-MySql+对象库实例,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。