但是这个登录测试点的设计考虑很多种,比如帐号和密码都为空或者其一为空,或者一个正确一个错误,或者两个都错误;这么多的测试点都要去进行判断退出for循环吗?有简单点的方法吗?作者: shanfeng1419 时间: 2011-3-17 10:05
lz你好,不知道第二个问题你解决没有。我说下我的想法。
录制正确输入的情况,是没有“请输入用户名”窗口弹出的,所以再用这个脚本跑“错误”的情况当然是不通的。所以我们说录制脚本是第一步,增强脚本是第二步。
可以用if判断,我理解你说的情况是当输入二者皆为空时,无需点击“进入”按钮,系统也会弹出“请输入用户名”。如果是这种情况,再输入用户名和密码后,用if检测有无错误窗口弹出(先不点击“进入”)。如果有,点击错误窗口的“确定”,反之,再点进入。
With Browser("先联电子病历系统 V1.37").Page("先联电子病历系统 V1.37")
.WebEdit("doctor.user_name").Set DataTable("yh", dtLocalSheet)
.Output CheckPoint("先联电子病历系统 V1.37")
.WebEdit("doctor.user_password").Click 0
.WebEdit("doctor.user_password").SetSecure DataTable("mm", dtLocalSheet)
if .webtable("错误窗口").exist then '伪代码, 错误窗口包括各种组合情况的提示信息
.webbutton("确定").click
else
.WebElement("进入").Click
end if
end with作者: shingo0109 时间: 2011-3-17 10:51 回复 12#804845430
由于用户名错误或者密码错误肯定要根据系统的提示信息来判断的, 不然无法知晓输入是否错误,这些if判断没法简化了。要么把判断用户名和密码不为空的情况设为先前条件,我简单写了下, LZ根据实际情况修改:
if 用户名="' or 密码="" Then
Reporter.ReportEvent micFail, "检查用户名或密码是否为空", "用户名或密码为空"
Exit For
else
.WebEdit("doctor.user_name").Set 用户名
.WebEdit("doctor.user_password").SetSecure 密码
.WebElement("进入").Click
if .WebElement("innertext:=用户名不存在").Exist(0) Then
Reporter.ReportEvent micFail, "检查用户名是否正确", "用户名不存在"
Elseif .WebElement("innertext:=密码错误").Exist(0) Then
Reporter.ReportEvent micFail, "检查密码是否正确", "密码错误"
Else
'进入之后进行后面的操作
End If
End If
如果错误提示信息是pop-up的情况, 还需添加点击的操作作者: 804845430 时间: 2011-3-19 10:59 回复 13#shanfeng1419