51Testing软件测试论坛

标题: 大家帮忙看一下子吧,还差一点了(几位大哥进来看呀,有图) [打印本页]

作者: 423799223    时间: 2007-2-6 10:37
标题: 大家帮忙看一下子吧,还差一点了(几位大哥进来看呀,有图)
各位老大帮忙看下,我现在就差一点问题
我想实现参数化用户名和密码登录一个网站,没验证码的
为什么在输入正确的用户名和密码登录成功后,没有点击退出登录的按钮呢?
我的思路:这个IF就是判断点击登录按钮时看是否存在错误窗口页面,如果存在就点击错误窗口中的确定按钮,
如果不存在就是登录成功,就点击退出系统,以实现再次登录,求各位大哥帮忙看下子

********************
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("admin").Set DataTable("name", dtGlobalSheet)
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("password").SetSecure DataTable("paw", dtGlobalSheet)
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebButton("管理登陆").Click
If Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").Exist Then
        Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
Else
        Browser("尘封办公OA系统").Page("尘封办公OA系统_2").Frame("top").Link("退出系统").Click
End If
Browser("尘封办公OA系统").Close

********************

[ 本帖最后由 423799223 于 2007-2-6 11:50 编辑 ]
作者: kevin_swpi    时间: 2007-2-6 11:00
我昨天晚上看到这个帖子后自己也弄了个简单的登陆注销的流程

遇的情况和你一样
当成功后 他就一直停在IF处  没有执行"退出"这一步  直到运行下一组数据

但是运行结束后在结果里面查看
又能看到所有的数据都已经运行结束 并且都按照要求将结果正确输出了....

纳闷中也...
作者: wssgily    时间: 2007-2-6 11:06
这样试一下,
if   登陆成功的窗口存在的话
      then  点退出
else
      激活一下错误窗口               '如果错误提示窗口就多种错误类型就同一个窗口的话
     Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
end if
看看这样行不。还有一个问题 是不是登陆成功后的窗口和你原来的窗口是一个窗体啊。如果是一个窗体的话,可能就不能用是否存在登陆成功的窗口存在来判断了,因为始终是同一个窗体。

[ 本帖最后由 wssgily 于 2007-2-6 11:13 编辑 ]
作者: walker1020    时间: 2007-2-6 11:14
请发个相关的图片(包括你测试的系统的图片和dtGlobalSheet的图片)上来看看,另外请把下面的四行代码先注释掉看看,系统能否点击“退出系统”按钮:
If Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").Exist Then
   Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
Else
End If

如果还不行,在 下面一行的后面增加 Wait 语句试试看:
  Browser("尘封办公OA系统").Page("尘封办公OA系统").WebButton("管理登陆").Click
作者: wssgily    时间: 2007-2-6 11:14
原帖由 walker1020 于 2007-2-6 11:14 发表
请发个相关的图片(包括你测试的系统的图片和dtGlobalSheet的图片)上来看看,另外请把下面的四行代码先注释掉看看,系统能否点击“退出系统”按钮:
If Browser("尘封办公OA系统").Dialog("Mi ...

还是版主解决问题的思路强啊.学习啊.
沟通能力和分析能力还要提高.学习啊.

[ 本帖最后由 wssgily 于 2007-2-6 11:16 编辑 ]
作者: 423799223    时间: 2007-2-6 11:27
3楼的大哥,我照你说的去做
结果一运行时,第一次密码是错误的,QTP就不动了,以下是我的代码
*********
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("admin").Set DataTable("name", dtGlobalSheet)
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("password").SetSecure DataTable("paw", dtGlobalSheet)
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebButton("管理登陆").Click
If  Browser("尘封办公OA系统").Page("尘封办公OA系统_2").Exist   Then
        Browser("尘封办公OA系统").Page("尘封办公OA系统_2").Frame("top").Link("退出系统").Click
Else
        Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").Activate
        Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
End If
Browser("尘封办公OA系统").Close
*********
作者: wssgily    时间: 2007-2-6 11:29
原帖由 423799223 于 2007-2-6 11:27 发表
3楼的大哥,我照你说的去做
结果一运行时,第一次密码是错误的,QTP就不动了,以下是我的代码
*********
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("admin" ...

按4楼的版主说的方法试试.然后把错误提示发上来看看

[ 本帖最后由 wssgily 于 2007-2-6 11:31 编辑 ]
作者: 423799223    时间: 2007-2-6 11:33
一运行QTP,第一次密码是错误的就不动了
********
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("admin").Set DataTable("name", dtGlobalSheet)
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("password").SetSecure DataTable("paw", dtGlobalSheet)
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebButton("管理登陆").Click
'If Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").Exist Then
'       Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
'Else
        Browser("尘封办公OA系统").Page("尘封办公OA系统_2").Frame("top").Link("退出系统").Click
'End If
Browser("尘封办公OA系统").Close
********

[ 本帖最后由 423799223 于 2007-2-6 11:37 编辑 ]
作者: 423799223    时间: 2007-2-6 11:39
这是我参数的用户名和密码:
Name:
1
admin1
admin2

Paw:
45c7df41dfde45e7
admin
admin3

用户名为Admin1到admin9之间都可以,密码都是admin
我的第一个和第三个都是错误的,只有第二个是正确的
作者: wssgily    时间: 2007-2-6 14:21
我按我们说的逻辑在flight上试了一下,没有问题的.
作者: 423799223    时间: 2007-2-6 14:36
我是按照你说的试了下把图也贴上来了
我想让你们帮我分析下是哪段代码有问题
现在是都不是运行完所有的用户名
作者: 19thangel    时间: 2007-2-6 14:38
QTP不动是什么意思?多等会儿也没报错?

建议lz先在if 和else 后面加个msgbox看看程序是不是按照你要求的执行的,然后再具体找下原因sdlkfj2
作者: 423799223    时间: 2007-2-6 14:39
就是程序在IF判断那里不动了
作者: xiaonan    时间: 2007-2-6 15:37
恩,可能QTP在执行判断页面是否Exist 的时候,需要一定的时间.
作者: 423799223    时间: 2007-2-6 15:38
那怎么解决这个问题呢
作者: xiaonan    时间: 2007-2-6 15:42
除了验证页面是否存在外?还能有什么信息可以抓来判断的吗?
作者: 423799223    时间: 2007-2-6 15:45
我本来是考虑到可以验证存在的页面的其它控件属性
但是我不知道怎么弄
就这一个重复登录页面的功能我弄了两天没弄出来

班主大哥教下吧
作者: wssgily    时间: 2007-2-6 15:45
多加上几个wait 和 msgbox 试试
作者: 423799223    时间: 2007-2-6 15:55
我加了一个Wait(10)就可以了,如果这样的话,那验证一个用户名就得浪费几十秒
我有5000个用户名,不是比手工还慢,请问楼上的大哥们有没有别的方法解决此事
现在这个被测试的页面在我本机上的,应该没有速度问题
****************
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("admin").Set DataTable("name", dtGlobalSheet)
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebEdit("password").SetSecure DataTable("paw", dtGlobalSheet)
Browser("尘封办公OA系统").Page("尘封办公OA系统").WebButton("管理登陆").Click
        If Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").Exist Then
        Wait(10)
        Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").Activate
        Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click

Else
        Browser("尘封办公OA系统").Page("尘封办公OA系统_2").Frame("top").Link("退出系统").Click
End If
Browser("尘封办公OA系统").Close
****************
作者: kevin_swpi    时间: 2007-2-6 21:10
原帖由 xiaonan 于 2007-2-6 15:37 发表
恩,可能QTP在执行判断页面是否Exist 的时候,需要一定的时间.


赞成xiaonan的说法
我也运行到这一步的时候等了很久
但最后都执行通过了

你如果要用5000个用户名来获取那些有效的话....我想这个方法在时效上不好
呵呵
不过可以在夜间执行 
作者: 423799223    时间: 2007-2-7 08:39
那版主有没有别的方法可以解决
现在是QTP这样的执行速度连手工都比不上
如果5000个帐号 那不是要N天
作者: Coffey111111    时间: 2007-2-7 08:48
可以在If Browser("尘封办公OA系统").Dialog("Microsoft Internet Explorer").Exist中的Exist函数改写成Exist(1),可以快一点~~  试试sdlkfj5     不过还是要等一会的,Exist函数以及If判断QTP是需要时间的了sdlkfj2
作者: suifengpiao    时间: 2007-2-27 18:45
不一定哦,如果比对的组件不在当前页面中用Exist(1)也不快
作者: zhaoaihua305    时间: 2007-2-28 10:49
运行成功,但是等待时间太长
代码:
Browser("国库集中支付管理系统").Page("国库集中支付管理系统").WebEdit("userId").Set DataTable("username", dtGlobalSheet)
Browser("国库集中支付管理系统").Page("国库集中支付管理系统_2").WebEdit("pwd").SetSecure DataTable("password", dtGlobalSheet)
Browser("国库集中支付管理系统").Page("国库集中支付管理系统_2").WebButton("登 录").Click
If Browser("国库集中支付管理系统").Dialog("Microsoft Internet Explorer").Exist Then
    Browser("国库集中支付管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
        else
                 Browser("国库集中支付管理系统").Page("国库集中支付管理系统 1.3.06").Frame("mainFrame").Link("退出系统").Click
                 Browser("国库集中支付管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
End If
作者: intothehit    时间: 2007-2-28 18:01
用场景恢复,自定义异常




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