51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2777|回复: 6
打印 上一主题 下一主题

请教一个初级问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-10-30 11:21:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人接触测试有1个多星期了,现在学习winruuner, 现在做一个登陆的测试,
当输入了错误的用户名和密码,系统弹出错误提示对话框;输入正确时,系统成功显示主界面,
我是这样录制的,
(1)打开登录框口
(2)点击wr的record
(3)在登录框口输入错误的用户名和密码,点击“确定“,弹出错误提示
(4)插入了GUI check point
(5)点击wr的stop

在进行vrity时,输入正确的用户名和密码时,由于没有弹出错误提示对话框,WR在处理时须等待一段时间
总觉得这样不妥

不知道在wR里,可以不可以这样判断
(在判断是否存在错误提示框时,是否还有存在等待一段时间的情况)
   if(存在错误提示框)
    {
           打印 PASS
    }
     else
         {
             打印 FAIL
         }




还有现在哪儿有免费的《junit in action》电子书?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-10-30 11:47:12 | 只看该作者
我现在想到另外个方法,不知道可不可以?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-10-30 11:50:24 | 只看该作者
做两个测试用例,
其中一个是登陆失败的
另外一个是登陆成功的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-10-30 12:50:22 | 只看该作者
可以使用win_exists()函数,至于用法看一下帮助手册吧
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-10-30 14:07:09 | 只看该作者
谢谢  开赌
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-10-30 14:30:46 | 只看该作者

同样新手

我也是一个测试新手,前断时间自己做了一个用户登录脚本,运行了没问题,


static app_name="d:\\3KGame\\ALobby.exe";
    if (invoke_application(app_name,"","",SW_SHOW)!=0)   
      {
     report_msg("被测试的应用程序不存在.退出测试脚本");
     texit;}
     else
             {wait(2);
       report_msg("游戏客户端运行成功");
  
# 3KGame
set_window ("3KGame", 2);
list_select_item ("SysListView32", "ALobby.exe", RIGHT);
menu_select_item ("打开(O)");
   


table_用户名 = "e:\\winrunner8.2\\3K游戏测试脚本\\游戏登录\\用户名登录表.xls";
rc = ddt_open(table_用户名, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
pause("Cannot open table.");
ddt_get_row_count(table_用户名,table_用户名_RowCount);
for(table_用户名_Row = 1; table_用户名_Row <= table_用户名_RowCount; table_用户名_Row ++)
{
ddt_set_row(table_用户名,table_用户名_Row);
  
  

  
  # Login
   set_window ("Login", 6);
   edit_set ("Edit_1", "");
   obj_type ("Edit_1","<kCtrl_L>");
   edit_set ("Edit_1",ddt_val(table_用户名,"Edit_1") );
   edit_set("Edit_2", ddt_val(table_用户名,"Edit_2"));
   button_press("virtual_push_button_登录");
   
#win_exists("3K游戏公社",0);
if (win_exists("3K游戏公社",1)==E_OK)
{  
# 3K游戏公社
       set_window ("3K游戏公社", 2);   
    static_get_text("登陆失败的对话框中的显示信息(static)",text);
    report_msg(text);
       # 3K游戏公社
       set_window ("3K游戏公社", 2);
       button_press ("确定");
    }
else   
{ report_msg("登录成功");
     wait(1);  
    # 游戏大厅
    set_window("游戏大厅", 10);
    button_press("virtual_push_button_注销");
}
}
ddt_close(table_用户名);
}

主要思路:  在输入帐号密码后,用win_exists()去判断是否有登陆失败的对话框,如果有,可以利用应用程序已经判断后的错误结果使用static_get+text()函数输出到脚本的测试结果信息中,如果没有登陆失败的对话框出现在截面上,那么说明程序登陆成功,当然我这里还用了一个数据驱动,最后不要忘了在判断完了要做一下小的细节处理,比如这里的 登陆失败对话框的确定处理和正常登陆后的退出处理..

[ 本帖最后由 picture 于 2006-11-15 16:58 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-10-30 17:44:30 | 只看该作者
后来我加载了数据驱动,
                edit_set ("Texts(0)", name);
        password_edit_set("Texts(1)", password)
          有的时候出现异常: 说我的参数是非法.我在EXECL里放置了一些诸如"~!@#$%^'符号
          有的时候正常
不知道是什么原因!

[最后不要忘了在判断完了要做一下小的细节处理,]
PICTURE给的正是我没想到的,我在运行时,老是自己手工点那个弹出对话框:(
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-10-6 20:40 , Processed in 0.094503 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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