QTP实例:新增用户实例,包含邮箱、手机号码的验证,还判断了添加账户是否已存在数据库的问题

'新增一个用户,包含用户姓名、密码、邮箱、手机号码,角色
Browser("BIP管理系统").Page("BIP管理系统").WebEdit("username").Set "admin"   '登录用户名
Browser("BIP管理系统").Page("BIP管理系统").WebEdit("password").SetSecure "123456"  '登录密码
Browser("BIP管理系统").Page("BIP管理系统").WebButton("登录").Click
Browser("BIP管理系统").Page("BIP管理平台").Link("系统管理").Click
Browser("BIP管理系统").Page("BIP管理平台").Link("用户列表").Click
Browser("BIP管理系统").Page("BIP管理平台_2").Link("创建用户").Click  '进入创建用户页面

'创建连接数据库对象
Dim Conn,str,sql,i
Set Conn=CreateObject("ADODB.Connection")
Const ConnectionString="DSN=test;DATABASE=bip;PWD=shubo!@#huayin;PORT=3306;SERVER=202.101.167.125;UID=root"
Conn.Open ConnectionString
'Set command=CreateObject("ADODB.Command")

'循环读取数据池中的数据
For i=1 to DataTable.GetSheet("Action1").GetRowCount

Dim userName,pwd,email,phone,role  '声明各必字段对象
userName=replace(cstr( DataTable("username", dtLocalSheet))," ","") '获取姓名,cstr是把Action中的值转换为string类型,replace是清除左右空格
pwd=Trim(cstr(DataTable("pwd", dtLocalSheet)))  '获取密码
email=Trim(cstr(DataTable("email", dtLocalSheet)))  '获取email
phone=Trim(cstr(DataTable("tel", dtLocalSheet)))     '获取手机号码
role=Trim(cstr(DataTable("role", dtLocalSheet))) '获取角色


Set str=CreateObject("ADODB.Recordset")'创建数据集实例
sql="select count(*)  from user where account='"+ userName +"'"  '写出sql语句,返回结果集的数量count
str.Open sql,conn,3,3 '打开数据集,3,3代表写入数据,1.1代表只读数据

Browser("BIP管理系统").Page("BIP管理平台_3").WebEdit("account").Set userName  '这里已分别把值赋给写入的文本框或下拉框
Browser("BIP管理系统").Page("BIP管理平台_3").WebEdit("password").SetSecure pwd
Browser("BIP管理系统").Page("BIP管理平台_3").WebEdit("email").Set email
Browser("BIP管理系统").Page("BIP管理平台_3").WebEdit("phone").Set phone
Browser("BIP管理系统").Page("BIP管理平台_3").WebList("roleId").Select role
Browser("BIP管理系统").Page("BIP管理平台_3").WebButton("提交").Click

'为邮箱设置bool值,如果符合邮箱格式则返回true,否则返回false.声明在这里是为了方便下面多if判断
Dim flag
If Instr(1,email,"@")>1 And InStr(3, email, ".")  And Right(email, 1) <> "." Then
 flag=true
 else
 flag=false
End If

'多重循环
If userName="" or pwd="" or email="" or phone="" or role="" then
 reporter.ReportEvent micFail,"创建用户:","期望提示:内容不能为空"
 elseif str.Fields(0)<>"0" then
 reporter.ReportEvent micFail,"创建用户:","期望提示:该用户名已存在"
 elseif flag=false Then
 reporter.ReportEvent micFail,"创建用户:","期望提示:邮箱格式不正确"
 elseif IsNumeric(phone)=false then
 reporter.ReportEvent micFail,"创建用户:","期望提示:电话只能为数字"
 elseif len(phone)<>11 then
 reporter.ReportEvent micFail,"创建用户:","期望提示:电话必须为11位数字"
 else
 reporter.ReportEvent micFail,"创建用户","期望提示:新增成功"
End if


str.Close '关闭数据集实例
Set str=Nothing

DataTable.GetSheet("Action1").SetNextRow  '循环取下个值
Next

Conn.Close '关闭数据库实例
Set Conn=Nothing


Browser("BIP管理系统").Page("BIP管理平台_3").Sync '关闭页面
Browser("BIP管理系统").CloseAllTabs

posted @ 2013-12-13 16:02  赏客  阅读(530)  评论(0编辑  收藏  举报