51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3127|回复: 10
打印 上一主题 下一主题

神啊!你在哪里?近来救救我吧。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-2-21 17:20:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小妹的目的:在开始-》WINRUNNER-》SAMPLE APPLICATIONS-》FLIGHT 4A中订从Paris到London的机票,要求能够每次都从已经做好的数据表中取数据。数据表default.xls如下:
Flight        From        Departure        To        Arrival        Airline        Price
10353        PAR        11:20 AM        LON        12:43 PM        SR        $168.20
10503        PAR        8:00 AM        LON        10:30 AM        AF        $123.47
10506        PAR        10:24 AM        LON        11:24 AM        AF        $126.47
我RUN一次下面的脚本,只要求买一张机票。比如我想买Flight 10503这张机票,下面中的问号该用什么来代替?小妹拜求高手给个答案。
我的脚本如下:

# Shell_TrayWnd
        set_window ("Shell_TrayWnd", 3);
        button_press ("Start");

# BaseBar
        set_window ("BaseBar", 4);
        toolbar_select_item ("ToolbarWindow32_1", "程序(P);WinRunner;Sample Applications;Flight 4A");

# Login
        set_window ("Login", 3);
        obj_type ("Agent Name:","<kCtrl_L-kShift_L>");
        edit_set ("Agent Name:", "sandy");
        obj_type ("Agent Name:","<kTab>");
        password_edit_set("Password:", "kzptnyoslzjsaz");
        obj_type ("Password:","<kReturn>");

# Flight Reservation
        set_window ("Flight Reservation", 32);
        edit_set ("Date of Flight:", "06/02/21");
        list_select_item ("Fly From:", "Paris");  # Item Number 4;
        list_select_item ("Fly To:", "London");  # Item Number 2;
        obj_mouse_click ("FLIGHT", 34, 28, LEFT);

# Flights Table
        set_window ("Flights Table", 1);
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 ("Flight", "???");
            
        button_press ("OK");
}
ddt_close(table);
        button_press ("OK");

# Flight Reservation
        set_window ("Flight Reservation", 4);
        edit_set ("Name:", "sandy");
        button_press ("Insert Order");
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-2-22 08:51:01 | 只看该作者
list_select_item ("Flight", "#2");
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-2-22 10:12:34 | 只看该作者
高手,长见识了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-2-22 10:17:33 | 只看该作者
使用变量可以这样写呀
list_select_item ("Flight", "#"& row);
row为变量。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-2-22 10:20:11 | 只看该作者
谢谢楼上的!你说的能行,但是它的记数从0开始的。也就是说按你说的是取表中的第三行的值。
但是我想问的是能否通过一个函数表达式计算出当前变量table_Row的值来代替问号呢,请高手指点!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-2-22 10:30:24 | 只看该作者
不太明白你的意思,对于这样的问题,我是这样解决的
1.用list_get_items_count得到总数
2.用循环(变量从0开始)。
3.使用循环变量row.    list_select_item ("Flight", "#"& row);

[ 本帖最后由 feiyi_feiyi 于 2006-2-22 10:47 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-2-22 10:30:49 | 只看该作者
真的很感谢feiyi_feiyi的及时回复!
授人与鱼,不如授人与渔,可以告诉我们你学习Wirunner的学习心得和方法的话,菜鸟们会爱死你的!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-2-22 10:33:15 | 只看该作者
不用使用data drive wizard
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2006-2-22 10:35:45 | 只看该作者
其实我就是想去使用data drive wizard,结果搞了半天还是没弄出来。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-2-22 10:41:07 | 只看该作者
使用data drive wizard也可以,但局限性很大,前提条件是你知道有多少个项,每个项是什么。对于不确定多少项的就没办法使用了。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-2-25 13:12:44 | 只看该作者
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{   
        ddt_set_row(table,table_Row);
        CellVal = ddt_val(table, "Flight");
        list_select_item ("Flight", CellVal);
        button_press ("OK");
}
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-7-5 08:06 , Processed in 0.076988 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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