51Testing软件测试论坛

标题: 在专家模式下编程设置对象检查点的问题 [打印本页]

作者: 笑游天涯侠    时间: 2006-6-13 18:39
标题: 在专家模式下编程设置对象检查点的问题
我录制了一个系统的登录操作,只录制了正确用户登录。录制完成后,我通过编程想检查“不输入用户名、输入用户名不输入密码、用户名或密码错误等情况时,系统是否有相应的提示信息。程序如下:
Browser("×××系统").Page("×××系统").WebEdit("PassWordTextBox").SetSecure DataTable("PassWord", dtGlobalSheet)
Browser("×××系统").Page("×××系统").WebButton("登录").Click

CheckUser = DataTable("UserName")
CheckPassWord = DataTable("PassWord")
If ( CheckUser <> "" ) Then
    If  ( CheckPassWord <> "" ) Then
         If  Browser("×××系统").Dialog("Microsoft Internet Explorer").Exist  Then
                 Browser("×××系统").Dialog("Microsoft Internet Explorer").Check CheckPoint("Microsoft Internet Explorer")
                 Browser("×××系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
         Else
                Browser("×××系统").Page("×××系统_2").Check CheckPoint("×××系统_2")
                Browser("×××系统").Page("×××系统").Frame("left").Link("退出系统").Click
         End If
   Else
         Browser("×××系统").Page("×××系统").WebElement("密码不能为空").Check CheckPoint("密码不能为空")
   End If
Else
  Browser("×××系统").Page("×××系统").WebElement("用户名不能为空").Check CheckPoint("用户名不能为空")
End If

Browser("("×××系统").Page("("×××系统_3").Sync
Browser("("×××系统").Close

然后手工把对象WebElement("密码不能为空"),WebElement("用户名不能为空"),Dialog("Microsoft Internet Explorer").WinButton("确定")添加到对象库中。

可以执行脚本时报错:类型不匹配: 'CheckPoint'。全部4个通过编程添加的checkpoint都会报这个错误。请问是什么原因的?
在”关键字视图“窗体中不能查看checkpoint的属性,点击”Insert Standard Checkpoint“也会报错。

现在发现,当报错时,点击stop,停止执行,然后立即在”关键字视图“中,对报错的那个checkpoint点击”Insert Standard Checkpoint“,可以创建checkpoint,再删掉刚创建的checkpoint,原来编程实现的那个checkpoint就能查看其checkpoint属性了。不知为什么?

[ 本帖最后由 笑游天涯侠 于 2006-6-13 18:45 编辑 ]
作者: xiaonan    时间: 2006-6-14 08:50
("密码不能为空")和.("用户名不能为空")是以什么形式显示的,直接在页面上显示,还是报的对话框?
作者: 笑游天涯侠    时间: 2006-6-14 09:49
("密码不能为空")和.("用户名不能为空")是以WebElement对象直接在页面上显示的。
“用户名或密码错误”是以Dialog("Microsoft Internet Explorer")提示。
全部4个通过编程添加的checkpoint在执行时都会报错。我现在只能当报错时,点击stop,停止执行,然后立即在”关键字视图“中,对报错的那个checkpoint点击”Insert Standard Checkpoint“创建checkpoint,然后再删掉刚创建的checkpoint,保留编程实现的那个checkpoint。这样执行4遍脚本,操作4遍。不知为什么原因?
作者: xiaonan    时间: 2006-6-14 09:56
那试过通过录制去添加checkpoint吗?有类似的问题吗?
作者: BiSheng    时间: 2006-6-14 10:23
标题: 专家视图中:不支持直接在脚本中添加检查点
你的检查点是不是直接在脚本中添加的。专家视图中:不支持直接在脚本中添加检查点.
作者: 笑游天涯侠    时间: 2006-6-14 10:31
那当然是没问题的。
作者: xiaonan    时间: 2006-6-14 10:45
可能你直接写的checkpoint是不指定类型的,所以不支持直接写.
作者: 笑游天涯侠    时间: 2006-6-14 15:19
是的,看了手册,知道了:“专家视图中显示的语句是对存储信息的引用。因此,不能在专家视图中手动插入检查点或输出值语句,也不能将checkpoint或output语句从专家视图复制到其他测试或组件中。”
不能用检查点,真郁闷。看来只能用Exist属性来判断了。
作者: xiaonan    时间: 2006-6-14 15:43
可以自己写代码判断的嘛,直接去if语句去判断,WebElement("密码不能为空")的属性值是否为显示为"密码不能为空"
作者: QA_BAY    时间: 2006-6-14 17:22
原帖由 笑游天涯侠 于 2006-6-14 09:49 发表
("密码不能为空")和.("用户名不能为空")是以WebElement对象直接在页面上显示的。
“用户名或密码错误”是以Dialog("Microsoft Internet Explorer")提示。
全部4个通过编程添加的 ...

是因为你DataTable里面有四个数据,并设置了为dtGlobalSheet,所以回放4次,你手动改为localsheet就可以了.
作者: 笑游天涯侠    时间: 2006-6-15 10:26
QA_BAY 版主,误解了我的意思。我原来问的是:通过编程直接添加的检查点,为什么在执行时报错“,看了手册后,知道为什么了。
用Exist属性来判断后,用MsgBox来输出判断结果,感觉不如checkpoint好,执行到那句后,需要手工点击MsgBox对话框上的”确定“按钮,才能继续往下执行。请问有什么好的办法可以避免呢?
作者: QA_BAY    时间: 2006-6-15 11:11
原帖由 笑游天涯侠 于 2006-6-15 10:26 发表
QA_BAY 版主,误解了我的意思。我原来问的是:通过编程直接添加的检查点,为什么在执行时报错“,看了手册后,知道为什么了。
用Exist属性来判断后,用MsgBox来输出判断结果,感觉不如checkpoint好,执行到那句后 ...

哦,原来我理解错了,
现在你说用MsgBox来输出判断结果,不好
那你改成没有提示,直接在结果会显示的输出吧
把MsgBox改成
Reporter.ReportEvent 0, "程序是否通过", "pass".




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