51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

?????????

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-20 17:56:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我想测试一个登录页,设计的用例是使用存在的用户名,不存在的用户名等不同情况,现在录制了一个成功登录的脚本 ,然后使用驱动,在表中填写不同的输入,具体代码如下:
table = "default.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);
                set_window("聚合首页 - 集美学村bbs站 - Powered by Discuz!NT",121);
                win_check_gui("聚合首页 - 集美学村bbs站 - Powered by Discuz!NT", "list1.ckl", "gui2", 1);
                edit_set("username",ddt_val(table,"username"));
                password_edit_set("password",ddt_val(table,"password"));
                button_press("登录");
       
}

现在的问题是要测不同情况下登录产生的不同提示 。例如输入正确用户名和密码,显示登录成功;输入正确用户名和错误密码显示密码错误,代码要怎么写?   
刚学winRunner,请指点!谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

8#
发表于 2008-4-23 19:58:16 | 只看该作者

回复 7# 的帖子

其实跟那没有关系,自动化要坚持一条:一切来源于用例(起码当前阶段是这样的)
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-23 17:15:13 | 只看该作者
那我觉得如果是要严格的判断到底出错是由于用户名错了,还是密码错了导致的
那是否可以加一个edit_wait_info("用户名:","value","admin",10);#如果admin是这个正确的用户名
同样可以判断密码edit_wait_info("密码:","value","123456",10);#如果123456是正确的密码
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-23 14:24:05 | 只看该作者

回复 5# 的帖子

以上脚本中,如果密码是错误的就会抱错,但我们真实的意图应该是该用例其实也是通过的
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-23 11:11:38 | 只看该作者

回复 4# 的帖子

我贴上一段我自己写的。LZ可以比较下

#==================================================================

#判断窗口是否存在,如果存在先关闭,如果不存在,则打开

#==================================================================
if(win_exists("{class:window,label:\"登录\",MSW_class:\"#32770\"}")==E_OK)
        {
        report_msg("窗口存在,请先关闭再打开");
        win_close("{class:window,label:\"登录\",MSW_class:\"#32770\"}");
        texit;
        }
else
        {
        invoke_application("C:\\Program Files\\telecom\\ec3.0\\ec.exe","","ec.exe",SW_SHOW);
        wait(10);
        }
#==============================================
#数据驱动,分别建立用户名和密码,测试组合包括:1、正确的用户名,错误的密码;2错误的用户名,正确的密码;3、错误的用户名错误的密码;4、正确的用户名正确的密码

#由于我的调试程序只能支持3次的失败验证,否则窗口会自动关闭。所以我这里只能比较三次失败校验
#==============================================
table="login.xls";
rc=ddt_open(table,DDT_MODE_READ);
if(rc != E_OK && rc != E_FILE_OPEN)
        {
        report_msg("open table error");
        texit;
        }
else
        {
        ddt_get_row_count(table,row_Count);
        for(i=1;i<=row_Count;i++)
                {
                ddt_set_row(table,i);
       
                # 登录
                set_window ("登录", 8);
                edit_set ("用户名:", ddt_val(table,"用户名"));
                edit_set("密 码:", ddt_val(table,"密码"));
                button_press ("确定");
                wait(3);
                if(win_exists("{class:window,label:\"错误\",MSW_class:\"#32770\"}",5)==E_OK)#这个窗口的判断我是通过GUI map先学好的。然后使用描述性编程放上去
                        {
                        win_mouse_click ("错误", 206, 38);
                        set_window("错误");
                        button_press ("确定2");#请注意与前面的button属性进行区别,这里我将它的逻辑名改为button2,并重新学习了GUI
                        wait(3);
                        }
                else
                        {
                        pause("用户名密码正确");
                        }
                }
        }
ddt_close(table);
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-4-21 10:00:58 | 只看该作者
感谢楼上两位的,还不是很明白,我再看看!
我目前的做法是这样的,可是觉得这样写很奇怪,用table_Row来标识输入,好象很傻呀
table = "default.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);
                set_window("聚合首页 - 集美学村bbs站 - Powered by Discuz!NT",121);
               
                edit_set("username",ddt_val(table,"username"));
                password_edit_set("password",ddt_val(table,"password"));
                button_press("登录");
       
        if(table_Row==1){
                #用户名存在且密码正确
                obj_check_info("用户中心","enabled",1,10);
                obj_check_info("短消息","enabled",1,10);
                obj_check_info("进入BBS","enabled",1,10);
                web_frame_text_exists("聚合首页 - 集美学村bbs站 - Powered by Discuz!NT","欢迎您 ATHuang","前身北洋大学\.\.\. 详细 ","\[ 退出");
                obj_check_info("退出","enabled",1,10);
                obj_check_info("帮助","enabled",1,10);
       
                # 聚合首页 - 集美学村bbs站 - Powered by Discuz!NT
                set_window("聚合首页 - 集美学村bbs站 - Powered by Discuz!NT",44);
                web_link_click("退出");
       
        }else if(table_Row==2){
                #用户名不存在
                web_frame_text_exists("用户登录 - 集美学村bbs站 - Powered by Discuz!NT","用户不存在","户登录出现了1个错误"," 返回上一步");

                # Browser Main Window
                set_window ("Browser Main Window", 4);
                edit_set ("browser_main_edit_location", "http://bbs.jmu.edu.cn");
                toolbar_button_press("MainToolBar_2","Back");
        }else if(table_Row==3){
                #用户名存在但密码错误
                web_frame_text_exists("用户登录 - 集美学村bbs站 - Powered by Discuz!NT","密码或安全提问第1次错误, 您最多有5次机会重试","户登录出现了1个错误"," 返回上一步");
                # Browser Main Window
                set_window ("Browser Main Window", 4);
                edit_set ("browser_main_edit_location", "http://bbs.jmu.edu.cn");
                toolbar_button_press("MainToolBar_2","Back");

        }else{
                # Browser Main Window
                set_window ("Browser Main Window", 4);
                edit_set ("browser_main_edit_location", "http://bbs.jmu.edu.cn");
                toolbar_button_press("MainToolBar_2","Back");

        }
}
ddt_close(table);

[ 本帖最后由 婧子 于 2008-4-21 10:03 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-4-21 09:48:26 | 只看该作者
或者可以事先捕捉到登陆成功的窗体和登陆失败的窗体,然后在进行判断
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2008-4-21 08:55:54 | 只看该作者
驱动文件中加一个期望结果,然后在脚本中进行比较

[ 本帖最后由 lantianwei 于 2008-4-21 10:54 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-10 11:58 , Processed in 0.085293 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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