......

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

上一篇 / 下一篇  2011-10-27 15:17:40 / 个人分类:功能测试

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:

引用 删除 malylian   /   2015-09-14 14:57:14
请问登录中没有提示消息,怎么创建输出值啊?
引用 删除 malylian   /   2015-09-14 14:56:54
5
 

评分:0

我来说两句

Open Toolbar