51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2898|回复: 11
打印 上一主题 下一主题

[原创] 在专家模式下编程设置对象检查点的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-6-13 18:39:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我录制了一个系统的登录操作,只录制了正确用户登录。录制完成后,我通过编程想检查“不输入用户名、输入用户名不输入密码、用户名或密码错误等情况时,系统是否有相应的提示信息。程序如下:
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 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-6-14 08:50:24 | 只看该作者
("密码不能为空")和.("用户名不能为空")是以什么形式显示的,直接在页面上显示,还是报的对话框?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-6-14 09:49:45 | 只看该作者
("密码不能为空")和.("用户名不能为空")是以WebElement对象直接在页面上显示的。
“用户名或密码错误”是以Dialog("Microsoft Internet Explorer")提示。
全部4个通过编程添加的checkpoint在执行时都会报错。我现在只能当报错时,点击stop,停止执行,然后立即在”关键字视图“中,对报错的那个checkpoint点击”Insert Standard Checkpoint“创建checkpoint,然后再删掉刚创建的checkpoint,保留编程实现的那个checkpoint。这样执行4遍脚本,操作4遍。不知为什么原因?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-6-14 09:56:21 | 只看该作者
那试过通过录制去添加checkpoint吗?有类似的问题吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-6-14 10:23:29 | 只看该作者

专家视图中:不支持直接在脚本中添加检查点

你的检查点是不是直接在脚本中添加的。专家视图中:不支持直接在脚本中添加检查点.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-6-14 10:31:58 | 只看该作者
那当然是没问题的。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-6-14 10:45:20 | 只看该作者
可能你直接写的checkpoint是不指定类型的,所以不支持直接写.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-6-14 15:19:27 | 只看该作者
是的,看了手册,知道了:“专家视图中显示的语句是对存储信息的引用。因此,不能在专家视图中手动插入检查点或输出值语句,也不能将checkpoint或output语句从专家视图复制到其他测试或组件中。”
不能用检查点,真郁闷。看来只能用Exist属性来判断了。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-6-14 15:43:44 | 只看该作者
可以自己写代码判断的嘛,直接去if语句去判断,WebElement("密码不能为空")的属性值是否为显示为"密码不能为空"
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-6-14 17:22:04 | 只看该作者
原帖由 笑游天涯侠 于 2006-6-14 09:49 发表
("密码不能为空")和.("用户名不能为空")是以WebElement对象直接在页面上显示的。
“用户名或密码错误”是以Dialog("Microsoft Internet Explorer")提示。
全部4个通过编程添加的 ...

是因为你DataTable里面有四个数据,并设置了为dtGlobalSheet,所以回放4次,你手动改为localsheet就可以了.
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2006-6-15 10:26:40 | 只看该作者
QA_BAY 版主,误解了我的意思。我原来问的是:通过编程直接添加的检查点,为什么在执行时报错“,看了手册后,知道为什么了。
用Exist属性来判断后,用MsgBox来输出判断结果,感觉不如checkpoint好,执行到那句后,需要手工点击MsgBox对话框上的”确定“按钮,才能继续往下执行。请问有什么好的办法可以避免呢?
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2006-6-15 11:11:18 | 只看该作者
原帖由 笑游天涯侠 于 2006-6-15 10:26 发表
QA_BAY 版主,误解了我的意思。我原来问的是:通过编程直接添加的检查点,为什么在执行时报错“,看了手册后,知道为什么了。
用Exist属性来判断后,用MsgBox来输出判断结果,感觉不如checkpoint好,执行到那句后 ...

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

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 02:25 , Processed in 0.084519 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表