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