51Testing软件测试论坛

标题: 某系统的用户登录QTP脚本的设计问题。 [打印本页]

作者: 森林一木    时间: 2007-12-20 22:56
标题: 某系统的用户登录QTP脚本的设计问题。
大家好,在学习的过程,想对一个系统的用户登录部分进行qtp脚本的设计,发现利用下面的脚本,始终不能达到预期的效果,麻烦大家看看下面的脚本有什么问题,谢谢。

预期效果:根据页面上的错误信息,进行相应的操作,比如说当提示用户不存在的时候,qtp读取dtLocalSheet中的下一行记录,如果提示密码不正确,则自动选择下一行数据,直到验证通过。



Dim status '定义一个状态参数
Dim input

Browser("用户管理系统").Page("用户管理系统").WebEdit("UserName").Set DataTable("username", dtLocalSheet)
Browser("用户管理系统").Page("用户管理系统").WebEdit("UserPwd").SetSecure DataTable("password", dtLocalSheet)
input=inputbox("verify code:")
Browser("用户管理系统").Page("用户管理系统").WebEdit("confirm").Set input
Browser("用户管理系统").Page("用户管理系统").WebButton("提交").Click
status=DataTable("status",dtLocalSheet)

If status="用户不存在" Then
        Browser("用户管理系统").Refresh
        DataTable.GetSheet("login").SetNextRow '读取datatable中的下一个用户名和密码。
        Browser("用户管理系统").Page("用户管理系统").WebEdit("UserName").Set DataTable("username", dtLocalSheet)
        Browser("用户管理系统").Page("用户管理系统").WebEdit("UserPwd").SetSecure DataTable("password", dtLocalSheet)
        input=inputbox("verify code:")
        Browser("用户管理系统").Page("用户管理系统").WebEdit("confirm").Set input
        Browser("用户管理系统").Page("用户管理系统").WebButton("提交").Click
End If

If status="密码不正确" Then
        Browser("用户管理系统").Refresh
        DataTable.GetSheet("login").SetNextRow '读取datatable中的下一个用户名和密码。
        Browser("用户管理系统").Page("用户管理系统").WebEdit("UserName").Set DataTable("username", dtLocalSheet)
        Browser("用户管理系统").Page("用户管理系统").WebEdit("UserPwd").SetSecure DataTable("password", dtLocalSheet)
        input=inputbox("verify code:")
        Browser("用户管理系统").Page("用户管理系统").WebEdit("confirm").Set input
        Browser("用户管理系统").Page("用户管理系统").WebButton("提交").Click
End If

If status="" Then
        Browser("用户管理系统").Refresh
        DataTable.GetSheet("login").SetNextRow '读取datatable中的下一个用户名和密码。
        Browser("用户管理系统").Page("用户管理系统").WebEdit("UserName").Set DataTable("username", dtLocalSheet)
        Browser("用户管理系统").Page("用户管理系统").WebEdit("UserPwd").SetSecure DataTable("password", dtLocalSheet)
        input=inputbox("verify code:")
        Browser("用户管理系统").Page("用户管理系统").WebEdit("confirm").Set input
        Browser("用户管理系统").Page("用户管理系统").WebButton("提交").Click
End If

[ 本帖最后由 森林一木 于 2007-12-21 09:28 编辑 ]
作者: walker1020    时间: 2007-12-21 00:16
你的“预期的效果”是什么?
作者: walker1020    时间: 2007-12-21 00:17
连需求都没有说清楚,别人又如何帮你?
作者: yabest    时间: 2007-12-21 00:21
SetSecure要改为Set !
作者: 森林一木    时间: 2007-12-21 09:28
已加上我的预期结果。谢谢大家。
作者: 森林一木    时间: 2007-12-21 10:07
哈哈,找到原因了,原来是没有在每一个if语句前加上status=DataTable("status",dtLocalSheet)
,加上就起到效果了,结贴,谢谢楼上朋友的支持。
作者: 森林一木    时间: 2007-12-21 12:38
多谢楼上,.refresh不能用,跟页面有关,所以我屏蔽了。现在已调整了。自己觉得for比较麻烦。还是直接比较得了,加上注释还容易明白些。再次谢楼上几位。以后有问题,还请大家多多指教。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2