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

  报告显示结果

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-07 04:05:13

QTP-MySql+对象库实例的相关文章

《精通QTP——自动化测试技术领航》—第1章1.5节QTP精华—对象库(上)之基础攻略篇

1.5 QTP精华-对象库(上)之基础攻略篇 精通QTP--自动化测试技术领航 阶段要点 初步了解QTP中的测试对象模型. 明确Object Identification是管理对象模型的长官. 掌握智能识别原理.机制和各项设置. 对象库基本操作之添加.更新.对象闪烁.副对象库(Associate Repositorys). 一个有趣的实验证明,做项目时手工添加对象的好处与效率. Export Local Objects与Export and Replace Local Objects. 掌握并熟

《精通QTP——自动化测试技术领航》—第1章1.6节对象库(下)之进阶编程篇

1.6 对象库(下)之进阶编程篇 精通QTP--自动化测试技术领航 阶段要点 掌握手写代码的3种方式. 明确测试对象(TO)与运行时对象(RO)的区别. 4种操作对象封装属性的方法. 你也可以是一名魔术师.黑客. 几种常见的QTP无法识别或识别错误的原因. 1.6.1 引言 在对象库上篇这个章节中,相信读者已经对对象库的使用以及其他各个方面有了一个全面的了解.那么从现在开始,作者将引领读者开始基于对象库编程的学习,从而掌握对象库编程的知识与技巧.读者如果觉得在对象库上篇中还有不能够完全掌握的地方

qtp在虚拟机里没有了对象库

问题描述 qtp在虚拟机里没有了对象库 我电脑w7 装了xp虚拟机 qtp10在里面不能分割action没有了保存那步.想把对象导入到本地对象库,没有任何反应,对象库出不来.虚拟机是11版本

winform 未将对象引用设置到对象的实例。

问题描述 winform 未将对象引用设置到对象的实例. 这可能是什么原因导致的,搞了半天都没弄懂 解决方案 你在sel()方法中SQL参数 upl.PATIENT_ID 没有值 解决方案二: 最近写程序,被这个错误折磨完了,今天总结一下,看看是不是这些!未将对象引用设置到对象的实例(1)一般都是控件名称与codebehind里面的没有对应(2)很多初学者都会有疑问:我已经定义了变量 public string[] c,而且也进行了实例化 string[] c=new string[3],但是为

救急问题:System.NullReferenceException: 未将对象引用设置到对象的实例,调式正常,IIS执行却出错!

问题描述 System.NullReferenceException:未将对象引用设置到对象的实例.protectedvoidPage_Load(objectsender,EventArgse){Manage.LogOut();Response.Redirect("Login.aspx");}LogOut()为:Static方法,VS2005调试执行的时候没有任何问题,显示为http://localhost:30988/my.webIIS执行的时候显示为http://localhost

MySQL索引用法实例分析_Mysql

本文实例分析了MySQL索引用法.分享给大家供大家参考,具体如下: MYSQL描述: 一个文章库,里面有两个表:category和article.category里面有10条分类数据.article里面有20万条.article里面有一个"article_category"字段是与category里的"category_id"字段相对应的.article表里面已经把 article_category字义为了索引.数据库大小为1.3G. 问题描述: 执行一个很普通的查

逐步分析MySQL从库com_insert无变化的原因_Mysql

大家都知道com_insert等com_xxx参数可以用来监控数据库实例的访问量,也就是我们常说的QPS.并且基于MySQL的复制原理,所有主库执行的操作都会在从库重放一遍保证数据一致,那么主库的com_insert和从库的com_insert理论上应该是相等的.如下面显示,第二列代表主库,第三列代表从库: 复制代码 代码如下: com_select              22                 1138com_update              36           

asp.net-未将对象引用设置到对象的实例。修改密码就出现这个问题

问题描述 未将对象引用设置到对象的实例.修改密码就出现这个问题 using System;using System.Data;using System.Configuration;using System.Collections;public partial class XueShengMod : System.Web.UI.Page{ protected void Page_Load(object sender EventArgs e) { } protected void Button1_C

网页最简短的拖动对象代码实例演示

对象|网页 以前在网上看到的最简单的拖动对象的代码,忘记作者叫什么了.原始代码在IE下有些小问题,并且声明了文档类型为xhtml 1.0后,在FF等非IE浏览器下无效,对其进行了改进,现在已经可兼容:IE.Firefox.Opera ... 以下代码只是演示原理,具体应用请结合你自己的实际需求进行修改.  <!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/T