51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2367|回复: 7
打印 上一主题 下一主题

[原创] 新人问题,请大家帮忙看看

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-30 17:37:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近公司要求进行简单的自动化测试,于是就选择了QTP,就慢慢地学,然后发现有一个问题一直困扰着我。
就拿飞机订票的应用程序来说吧:
登录界面,用户名与密码
正确的:
用户名:12345
密码:mercury   
正确登录;  这个脚本好录制;
错误的:
用户名:12345
密码:mercuuuuuuuu
系统提示密码错误;   这个脚本也好录制;
我的想法是:既然是自动化测试的话,能不能把这2个合成一个脚本,如果符合需求,进行登录,如果是错误的,不进行登录,并且清空界面继续进行下一条用户名/密码的测试
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2015-5-4 14:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2008-4-30 17:51:03 | 只看该作者
    给你看一下我以前做的一个关于登陆的代码:
    Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("username").Set DataTable("loginName", dtGlobalSheet)
    Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("password").SetSecure DataTable("passWord", dtGlobalSheet)
    Browser("网站后台管理系统").Page("网站后台管理系统").WebButton("登 录").Click
    If Browser("网站后台管理系统").Dialog("Microsoft Internet Explorer").Exist(1) Then
        Browser("网站后台管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
    End If

    if判断中的代码是手动添加的,用来判断的那个用户名或密码不正确的时候,系统弹出的提示窗口是否存在,如果存在,则点击提示窗口的确定按钮,你的脚本也可以用类似地方法来处理,希望对你有帮助
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-4-30 18:26:52 | 只看该作者
    看楼主的例子应该是使用了QTP自带的那个flight程序学习的,其实你可以直接抓取那个错误的对话框,无论它提示的是什么信息,它的确定按钮是一样的,也就是说,错误提示只是错误提示对话框上的static文本,所以你可以增加一个点击确定的操作,这样就可以继续下一个用户名和登陆密码的设定了,下面是代码,你看看吧。
    ApplicationDir = Environment("ProductDir")
    ApplicationPath = "\samples\flight\app\flight4a.exe"

    If  Window("Flight Reservation").Exist(2) Then
                    Window("Flight Reservation").Close
                    SystemUtil.Run ApplicationDir & ApplicationPath,"",ApplicationDir & "\flight\app\","open"
    Elseif Not Dialog("Login").Exist(1) Then
                    SystemUtil.Run ApplicationDir & ApplicationPath,"",ApplicationDir & "\flight\app\","open"
    End If

    Dialog("Login").WinEdit("Agent Name:").Set "admin"
    Dialog("Login").WinEdit("Agent Name:").Type  micTab
    Dialog("Login").WinEdit("Password:").SetSecure "48184753fbfdc6f736db915b4b8c7693fdd7718066c4"
    Dialog("Login").WinButton("OK").Click
    Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
    其中对于帐户和密码的登陆输入你可以使用datatable输入,对于错误信息的checkpoint,你也可以使用datatable进行对比。。如果你知道怎么弄的话~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2008-4-30 22:11:38 | 只看该作者
    非常感谢上面2位朋友的帮忙;
    xueboy118网友的帮忙,基本上我可以理解了。
    泥泥虫朋友所说的加一个确定键的点击动作,不是很了解;
    那么我还有一个问题想知道:
    1。当输入有效的数据,而系统存在BUG导致出现错误提示框的时候,QTP会不会把这个当做一个FAIL记录下来呢?
    2。当输入无效的数据,而系统存在BUG导致直接登录系统的时候,QTP是不是也会把这个当做一个FAIL记录下来呀?
    有没有什么好的办法解决这个问题啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-5-1 10:14:06 | 只看该作者
    以你的问题为例子,如果你不在你的脚本中添加进去report对象方法,或者说 你没有加入你的文本检查点的时候,它是不会在你的结果中记录FAIL的,就算你能全部调通你的脚本,它只是显示done,而不会有FAIL和PASS。具体的你应该多看看帮助文档。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-5-1 20:34:10 | 只看该作者
    呵呵!我也是51的学员,还没有学QTP,看看一定会有帮助的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2008-5-3 23:59:22 | 只看该作者
    楼主的想法完全可以实现,不过需要自己在原来录制的脚本基础上完善和修改了。如果你是QTP的初学者,建议你先根据QTP Tutorial的提示完整操作一遍后,再考虑其它问题。从长远来看,这么快就考虑实际问题对你的能力来说不是什么好事情。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2008-5-4 00:01:18 | 只看该作者
    强烈建议你按照 http://bbs.51testing.com/thread-24742-1-1.html 的说明去学习QTP。另外,此版块的置顶帖和 [QTP精华区http://bbs.51testing.com/forum-117-1.html 有许多不错的帖子和资料,建议你也常去那里看看。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-18 10:26 , Processed in 0.084058 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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