首先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_;_ |
报告显示结果
最新内容请见作者的GitHub页:http://qaseven.github.io/