jasmine2000 发表于 2006-11-9 16:38:50

关于winrunner中数据池的问题请教

对于像button_set ( button, state );例如:button_set ("Ketchup", ON);
如果我要用数据池中的数据来取代state,即ON
我是这样写的,我用state栏位来存放:ON或者OFF
table="default.xls";
state = ddt_val(table,state);#其他函数一般都会在state上加上引号,但因为在button_set ("Ketchup", ON);中ON上没有“”,所以这里我也没有加
button_set("state",state);#读取数据池中的state栏位
但是好像这样做,那个栏位不会自动打勾,没有起到效果,加上以后也没有用
请教高手,我该怎样做????谢谢:)

[ 本帖最后由 jasmine2000 于 2006-11-9 16:40 编辑 ]

gp_jl 发表于 2006-11-9 21:43:06

首先,这个双引号不需要加;
其次,对于 button_set("state",state); 没有打勾的问题,需要问下:是否存在逻辑名或描述为 “state” 的 button ?按照上面的 button_set ("Ketchup", ON),此处应该修改为:button_set ("Ketchup", state)。

jasmine2000 发表于 2006-11-10 09:56:04

原帖由 gp_jl 于 2006-11-9 21:43 发表
首先,这个双引号不需要加;
其次,对于 button_set("state",state); 没有打勾的问题,需要问下:是否存在逻辑名或描述为 “state” 的 button ?按照上面的 button_set ("Ketchup", ON), ...

谢谢,不好意思哈,你说的是正确的,应该为 button_set ("Ketchup", ON),我写错了:)可是我没有加引号,为什么他还是不能正确引用数据池里的内容呢,好像默认的都是OFF,即使数据池中是ON

shyfish 发表于 2006-11-10 21:16:34

ON算是常量,不是变量值,LEFT,RIGHT之类的类似
你用state是把它作变量值了,从Data Table里取出来是把它当作变量值而不是常量

gp_jl 发表于 2006-11-10 23:01:14

回复 #3 jasmine2000 的帖子

以下脚本可运行(WR自带的Flight 4A,WR V7.6,WinXP SP2):
      table = "text.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);
               
                # Flight Reservation
                        set_window ("Flight Reservation", 4);
                        menu_select_item ("File;Open Order...");
               
                # Open Order
                        set_window ("Open Order", 1);
                        state=ddt_val(table, "State");
                        pause(state);
                        if(state =="ON")
                        {                                       
                              button_set ("Order No.",state);
                              edit_set ("Edit", 3);
                              button_press ("OK");
                              
                              
                        # Flight Reservation
                              set_window ("Flight Reservation", 2);
                              menu_select_item ("File;Fax Order...");
                        
                        # Fax Order No. 3
                              set_window ("Fax Order No. 3", 1);
                              edit_get_text("# Tickets:",tickets);
                              edit_get_text("Ticket Price:",price);
                              edit_get_text("Total:",total);
                        
                        #      check that the total ticket price is calculated correctly.
                              if(tickets*price == total)
                                        tl_step("total", 0, "Correct. "tickets" Tickets at $"price" cost $"total".");
                              else
                                        tl_step("total", 0, "Error. "tickets" Tickets at $"price" does not equal $"total".");
                                       
                              button_press ("Cancel");
                        }
                        else{
                                  win_close("Open Order");
                        }
      }
      ddt_close(table);
text.xls数据如下:
State
OFF
ON
仅供参考!

[ 本帖最后由 gp_jl 于 2006-11-10 23:02 编辑 ]

jasmine2000 发表于 2006-11-13 13:53:26

谢谢大家,问题解决了:)
页: [1]
查看完整版本: 关于winrunner中数据池的问题请教