51Testing软件测试论坛

标题: 如果登陆是空值,怎么做判断?谢谢了 [打印本页]

作者: a_xun    时间: 2008-6-3 15:27
标题: 如果登陆是空值,怎么做判断?谢谢了
大家好,公司最近让看QTP呢,给我留一个任务。但是我总是弄不出来,希望大家能帮忙,谢谢了。
我的步骤就是先录制了一个正确的登陆,
然后把用户名进行参数化
然后修改代码:
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set DataTable("my", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure DataTable("we", dtGlobalSheet)

Dim CheckUS
Dim CheckPW
CheckUs=Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set(DataTable("my", dtGlobalSheet) )
CheckPW=Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure(DataTable("we", dtGlobalSheet))

If ( CheckUS = "" )Then
  If   ( Browser("Welcome: Mercury Tours_2").Dialog("Microsoft Internet Explorer").Exist(1)) Then
   Dim a
   if  ( a = Browser("Welcome: Mercury Tours_2").Dialog("Microsoft Internet Explorer").Static("请输入登录名!").check(checkpoint("请输入登录名!")) = true )then
  msgbox "passed"
   end if
   end if                  
End if

Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 39,11
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Sync
Browser("Welcome: Mercury Tours").Close
但是,出错了,出错如下图,希望大家能帮忙解决,谢谢。论坛里的帖子我也看了,但是我还是没有弄明白,希望高人指点,谢谢了
作者: a_xun    时间: 2008-6-3 15:28
大家帮帮我,谢谢了,他总是说找不到对象,我应该怎么添加对象呢?
作者: a_xun    时间: 2008-6-3 15:38
自己顶,希望有人帮我解答疑惑,谢谢了
作者: dreamever    时间: 2008-6-3 16:14
脚本没看明白,那个browser对象的标识:Welcome: Mercury Tours_2是怎么来的?应该是Welcome: Mercury Tours才对。
楼主是不是在录制脚本时,对同一对象进行了重复录制的操作?把Welcome: Mercury Tours_2改成Welcome: Mercury Tours试一下吧
作者: pxwcypx    时间: 2008-6-3 16:57
表面上看是对象库中的对象(Browser("Welcome: Mercury Tours_2").)不存在、建议你先看下对象可存在,存在的话单步调试;不存在的话,手动 捕获对象;
==============
ps:还有,获取CheckUS=Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").getroproperty("value");
你取得只不过是你参数表的数据,不一定RO时(运行)编辑框内的值
作者: 没有蛀牙    时间: 2008-6-3 17:05
不说你出错的问题,在我看来这2句有问题的阿
CheckUs=Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set(DataTable("my", dtGlobalSheet) )
CheckPW=Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure(DataTable("we", dtGlobalSheet))
Set方法是不返回任何值得,你的变量必然为空啊
作者: 没有蛀牙    时间: 2008-6-3 17:08
你Set不加括号的话,应该编译都会抱错的
出错我想应该是Welcome: Mercury Tours和Welcome: Mercury Tours_2的关系
作者: xiaonan    时间: 2008-6-3 18:01
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure DataTable("we", dtGlobalSheet)

这里用 SetSecure ,后面可是跟着一串 加了密的 密码哦. 你后面是加了密的吗?
作者: everest_wf    时间: 2008-6-4 15:00
我觉得把所有的:
Welcome: Mercury Tours_2
换成
Welcome: Mercury Tours
作者: chbhaha    时间: 2008-6-14 12:21
首先把setsecure换成set




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