51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3992|回复: 17
打印 上一主题 下一主题

如何进行参数化呀?!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-10-30 11:20:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个类似于QQ的聊天软件,大家可以QQ用来修改一下如下我写的这个脚本.再进行讨论这样会明白一点.

#如果QNL启动程序不存在,退出!
if(invoke_application("C:\Program Files\Call Me\StartUp.exe","","",show)!=0)
  {
    report_msg("QNL启动程序不存在,退出!");
        texit;
   }


  
# Call Me 用户登录
        #输入用户名
        set_window ("Call Me 用户登录", 4);
        list_select_item ("cmbUserName", "用户名XXXX");  # Item Number 1;
        #用户名验证
        rc=obj_check_gui("Edit", "list3.ckl", "gui3", 1);
    if (rc != E_OK)
        tl_step ("用户名验证", FAIL, "不正确!");
else
        tl_step ("用户名验证", PASS, "正确!");
        #输入正确密码
        password_edit_set("txtPassword", "密码XXXX");
        #验证密码
        rc=obj_check_gui("txtPassword", "list4.ckl", "gui4", 1);
    if (rc != E_OK)
        tl_step ("密码验证", FAIL, "不正确!");
else
        tl_step ("密码验证", PASS, "正确!");
       
    #是否隐身,可修改参数,验证隐身键是否可用
        button_set ("隐身登录", ON);

        button_press ("ThunderRT6CommandButton");
       

# Call Me
        set_window ("Call Me", 11);
        obj_mouse_click ("picInfo", 10, 18, LEFT);
        rc=win_check_gui("Call Me", "list2.ckl", "gui2", 1);
        if (rc != E_OK)
        tl_step("登陆后窗口", FAIL, "不能正常显示");
else
    tl_step ("登陆后窗口", PASS, "能正常显示");
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
 楼主| 发表于 2004-10-30 11:29:39 | 只看该作者
续上:
以上是此聊天软件的正常登陆过程.
现在我想先参数化用户名,以便输入一个正确的用户名和多个不正确的用户名来验证.
我是用datadriver wizard来参数化,用了两种方法,但都不行.
1.list_select_item ("cmbUserName", "用户名XXXX");  # Item Number 1;
  用datadriver wizard来参数化:
  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);
        list_select_item ("cmbUserName", ddt_val(table,"cmbUserName"));  # Item Number 1;
}
ddt_close(table);
2.把第一张帖子全部datadriver wizard来参数化,只参数化用户名.参数化后的脚本我不写出来了.

这两种方法都不行.
为了达到可以输入一个正确的用户名和多个不正确的用户名来验证.
还有什么有效的方法来解决吗?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2004-10-30 15:42:52 | 只看该作者
这人问题我有兴趣,我会帮你想的!大家一起研究吧!!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-10-30 19:14:03 | 只看该作者
# #32770_3
    win_mouse_click ("#32770_3", 42, 86);
        set_window ("#32770_3", 16);
        edit_set ("QQ号码:_1", "11670222");

# #32770_3
        set_window("#32770_3", 1);
        obj_check_gui("QQ号码:_1", "list1.ckl", "gui1", 1);
if (obj_check_gui("QQ号码:_1", "list1.ckl", "gui1", 1) == E_OK)
         tl_step ("QQ号码:_1",0, "用户名验证正确!");
         else
          tl_step ("QQ号码:_1",1, "用户名验证不正确!");
# #32770_3
        set_window ("#32770_5", 17);
        password_edit_set("QQ密码:", "fzetnyjtazctnzesbvcshv");

# #32770_3
        set_window("#32770_3", 1);
        obj_check_gui("QQ密码:", "list2.ckl", "gui2", 1);
if (obj_check_gui("QQ密码:", "list2.ckl", "gui2", 1)== E_OK)
         tl_step ("QQ密码:",0, "用户名验证正确!");
         else
          tl_step ("QQ密码:",1, "用户名验证不正确!");
           obj_mouse_click ("登录", 23, 13, LEFT);
           iResult = win_exists("错误");
if (iResult == E_OK)
{   set_window ("错误", 6);
        button_press ("否(N)");
}
    set_window("#32770");
    password_edit_set("QQ密码:", "fzetnyjtazctnzesbvcshvds");
        obj_mouse_click ("登录", 38, 9, LEFT);


我试过了,可以的,我的前提是用户名是正确的,如果不正确,我要再加多一条程序.由于时间不够,这个星期比较忙,所以大家帮忙看一下吧
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2004-10-30 20:12:58 | 只看该作者
非常感谢QA_BAY,你写的这个QQ登录脚本是可以的,我知道了,谢了!

但我写这张帖的目的是怎样把用户名参数化.以便加以测试多个测试数据,如正确和不正确的用户名.

看了你的帖,我有一点感想:
1.你写脚本有个习惯,如每验证一处地方时,先点击QQ筐,如:# #32770_3
   这和我的写法有点不一样. 请说一下,你这样做有什么好处.还是只是习惯而已.哈哈...
2.看了你很多帖,在你身上也学也很多.也加了你的MSN,下次有机会在MSN上聊吧
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2004-10-30 20:26:08 | 只看该作者
欢迎大家讨论.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-10-31 12:15:07 | 只看该作者
Originally posted by girl04 at 2004-10-30 08:12 PM:
非常感谢QA_BAY,你写的这个QQ登录脚本是可以的,我知道了,谢了!

但我写这张帖的目的是怎样把用户名参数化.以便加以测试多个测试数据,如正确和不正确的用户名.

看了你的帖,我有一点感想:
1.你写脚本有个习惯 ...

很谢谢你的夸奖,我只是一个WR的爱好者!我很喜欢WR这个软件,觉得它非常有用,很想去学好它,可惜,会的人太少,都要靠自己,
写脚本每个人都有自己的风格,各有各的特点,学习久了习惯也就养成了,我也不知道这个是不是自己的风格,没有太在意!!

你在我的MSN叫什么呢?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2004-10-31 21:48:16 | 只看该作者
回应我的题目吧,谁会的, 请教!

QA_BAY,我的MSN名是:飞马
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2004-11-5 10:12:00 | 只看该作者
没人理的?
急呀
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2004-11-8 16:06:48 | 只看该作者
你的问题有点难度,呵呵,关注!!!:d
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2004-11-8 20:38:37 | 只看该作者

会不会是这个原因

你在代码里面用的是 list_select_item ,这个函数是在列表框中选择值,如果列表框中没有对应的值,肯定就选择不到。请确认一下你的xls文件里面的所有用户名都是在列表框中吗,如果不在,可以用edit_set试一下。
我也使刚学wr,有很多东西也在摸索当中,并不一定正确,你的代码我没有运行,以上只是我的一点看法,有空多交流了。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2004-11-8 21:23:54 | 只看该作者
不是这个原因,我肯定!
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2004-11-9 10:26:32 | 只看该作者
我用腾讯的BQQ试了一下,可以通过data driver wizard实现参数化,和其它软件没有什么不同。我想可能是girl04你的操作或是环境有些问题,如果方便,留个软件下载网址,有时间帮你试一下。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2004-11-9 23:12:08 | 只看该作者
这个问题我已经解决了,谢谢诸位.

正如楼上所说,我的想法是正确的,是操作过程中出了点问题.
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2004-11-9 23:57:31 | 只看该作者
到今天晚上才有点时间出来想你的问题,
我自己也想出一个,我写上来你看一下,
不知跟你一样吗?如果不一样发MSN给我吧,
我们再看一下!


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);
       
        # Program Manager
                set_window ("Program Manager", 2);
                list_activate_item ("SysListView32", "腾讯QQ珊瑚虫版");
       
        # #32770
                set_window ("#32770", 6);
                edit_set ("QQ号码:_1", ddt_val(table,"number"));
                list_get_selected("QQ号码:_0",item,number);
               
                if (item=="11670222")
                  {
                   set_window ("#32770", 18);
                   password_edit_set("QQ密码:", "fzetnyjtazctncshvdhjkhjkhhs");
                   obj_mouse_click ("登录", 30, 11, LEFT);
                   }
                  
                 else
                    {
                        set_window ("#32770", 18);
                   password_edit_set("QQ密码:", "fzetnyjtsdcshvds");
                   obj_mouse_click ("登录", 30, 11, LEFT);
                   set_window ("详细资料", 5);
                   button_press ("下一步(N) >");
                   button_press ("下一步(N) >");
                   button_press ("下一步(N) >");
                   button_press ("返回登录框");
                  
          #32770
                   set_window ("#32770", 6);
               win_close ("#32770_2");
                                        }
                 
                    
       
       
}
ddt_close(table);

[ Last edited by QA_BAY on 2004-11-9 at 23:59 ]
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2004-11-10 15:37:34 | 只看该作者
我收到你的脚本了,今天晚上回去帮你想一下,想一条可以合起来的.不用分好多步!
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2004-11-11 15:23:03 | 只看该作者
#32770_3
是什么?
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2004-11-11 16:44:33 | 只看该作者
Originally posted by totomylove at 2004-11-11 03:23 PM:
#32770_3
是什么?

这个是点窗口的注释
有#的都不执行,是给程序员看的!就好像其它语言的注释一样
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 23:30 , Processed in 0.079967 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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