用户登录---自动化功能测试实例

上一篇 / 下一篇  2010-09-20 17:18:45 / 个人分类:QTP

 用户管理登录功能测试

  下面脚本是本人实际项目,外网无法链接,今天编写自动化测试第一个实例,作为以后学习的起点碑!

 

1. 设置QTP

  打开QTP,点击【record】,在web选项卡中,输入录制地址为:http://localhost:8088/MDS4000,点击【确定】开始录制脚本;

   录制步鄹:

   a. 进入系统首页;

   b. 输入用户名、密码,点击【登陆】

   c. 安全退出系统

2. 录制脚本如下:

 Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_2").WebEdit("username").Set "fresh_air"
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_2").WebEdit("password").SetSecure "4c972c179fbe2bf7f707b4be3977663c47638cbd

"Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_2").Image("Submit").Click 33,35
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统--一次接线图").Link("退出").Click
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_3").Sync
Browser("MDS4000输变电设备状态监测与故障诊断系统").Close

3. 参数化用户名、密码
   在关键字视图中,选中username的value,定义Parameter:DataTable  Name:username 保存到当前action中;同理,参数化密码为:password
   在专家视图,脚本如:
 Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_2").WebEdit("username").Set DataTable("username", dtLocalSheet)
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_2").WebEdit("password").SetSecure DataTable("password", dtLocalSheet)

4. 设置变量

  在Keyword View关键字视图--DataTable里定义2列,exp_status主要用来保存预期提示信息的输出值;fact_status主要用来保存实际提示信息的输出值。
5. 设计测试用例
   a. 当用户名为空时,期望输出提示信息:“用户名不能为空!”
   b. 当输入用户名,密码为空时,期望输出提示信息:“密码不能为空!”
   c. 当输入正确用户名、错误密码,期望输出提示信息:“密码不正确!”
   d. 当输入错误用户名、正确密码,期望输出提示信息:“用户名不存在!”
   e. 输入正确用户名、正确密码,登录成功
   注:以上测试用例只设计以上4种,作为演示,在实际项目中,可能会涉及到长度、格式等验证,这里不一一赘述。
6. 按照以上5种测试用例,在DataTable表格中,输入:
   a. username=   password=123456  exp_status=“用户名不能为空!”
   b. username=fresh_apple   password=  exp_status=“密码不能为空!”
   c. username=fresh_apple   password=000000  exp_status=“密码不正确!”
   b. username=fresh   password=123456  exp_status=“用户名不存在!”
   e. username=fresh_apple   password=123456  exp_status=

7. 在登录界面,提示信息处,插入文本输出检查点:

Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_4").Output CheckPoint("MDS4000输变电设备状态监测与故障诊断系统_2")'插入文本的输出点

8. 切换到专家视图,定义变量
   dim i '定义行号
   For (i=0 to DataTable.GetSheet("Action1").getRowCount '获取所有行号
9. 定义保存预期、实际输出值的变量
   Dim fact_outmsg '读取系统实际提示信息输出值
   Dim exp_outmsg'读取系统预期提示信息输出值
   fact_outmsg = DataTable("fact_status",dtLocalSheet)
   exp_outmsg = DataTable("exp_status",dtLocalSheet)
   If  fact_outmsg<>exp_outmsg Then '当实际值与预期值不相符时
   reporter.ReportEvent 1, "用户登录测试","预期值为:"+exp_outmsg+"实际值为:"+fact_outmsg
   End If
   DataTable.GetSheet("Action1").SetNextRow
Next
'登录系统
10. ok,脚本编写完成,完整脚本:
   Dim i'定义行号
Dim fact_inf '定义读取系统实际提示信息的变量
Dim exp_inf'读取系统预期提示信息的变量
For i = 1 to DataTable.GetSheet("Action1").getRowCount
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_2").WebEdit("username").Set DataTable("username", dtLocalSheet)
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_2").WebEdit("password").SetSecure DataTable("password", dtLocalSheet)
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_2").Image("Submit").Click 33,35
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_4").Output CheckPoint("MDS4000输变电设备状态监测与故障诊断系统_2")'插入文本的输出点
fact_inf = dataTable("fact_status",dtLocalSheet)'将实际输出值赋予变量
exp_inf = dataTable("exp_status",dtLocalSheet)
If  fact_inf<>exp_inf Then
 reporter.ReportEvent 1,"登陆功能测试","预期值为:"+exp_inf+"实际值为:"+fact_inf
End If

dataTable.GetSheet("Action1").SetNextRow '获取下一行数据

Next

'进入系统
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统--一次接线图").Link("退出").Click
Browser("MDS4000输变电设备状态监测与故障诊断系统").Page("MDS4000输变电设备状态监测与故障诊断系统_3").Sync
Browser("MDS4000输变电设备状态监测与故障诊断系统").Close

 


TAG:

 

评分:0

我来说两句

Open Toolbar