queen 发表于 2006-9-13 16:32:06

tbl_set_selected_cell 中的row能用变量来替代吗?

obj_get_text("tabpage_2.dw_2", text, 75, 1, 193, 27);        # WR00000164

tbl_set_selected_cell ("dw_list", "tcode=WR00000163", "tcode");


请教,如何使用text变量来替代 "tcode=WR00000163",

这样,每次运行tbl_set_selected_cell时, 在表里指定的单元都随变量而变化。

lzq123335 发表于 2006-9-13 17:22:54

tbl_set_selected_cell ("dw_list",text,"tcode");
你好像问过了一遍吧

queen 发表于 2006-9-13 18:04:52

sdlkfj5是的,我问过obj_type 的变量问题,已解决。

我有试过用tbl_set_selected_cell ("dw_list",text,"tcode"); ,但是运行到此行报错:

Function "tbl_set_selected_cell"

Line: 100

Error: Illegal parameter.

我就误以为不能这样使用的。脚本如下,请指教,多谢!

# 入库事务 - [新增]
        set_window ("入库事务 - [新增]", 4);
        obj_type ("dw_3.memo","<kReturn>");
                     button_press ("保存(S)");
                     obj_get_text("tabpage_2.dw_2", text, 75, 1, 193, 27);                  # WR00000164
                     button_press ("退出(Q)");

#入库单修改
                   set_window ("入库事务", 23);
               tbl_set_selected_cell ("dw_list", text, "tcode");
                   tbl_set_selected_cell ("dw_bar", "#3", "icontext");

小李美刀 发表于 2006-9-13 18:38:25

I think

I think you should write like the following :

# 入库事务 - [新增]
      set_window ("入库事务 - [新增]", 4);
      obj_type ("dw_3.memo","<kReturn>");
      button_press ("保存(S)");
      obj_get_text("tabpage_2.dw_2", text, 75, 1, 193, 27);                  # WR00000164
      button_press ("退出(Q)");

#入库单修改
         set_window ("入库事务", 23);
       tbl_set_selected_cell ("dw_list", text, "tcode");   #我认为该命令用在此不正确. 尤其是参数使用不正确.   
         tbl_set_selected_cell ("dw_bar", "#3", "icontext");

[ 本帖最后由 小李美刀 于 2006-9-14 10:47 编辑 ]

重新开赌 发表于 2006-9-13 19:00:48

这个问题其实要靠你单步调试,你的问题,就是text没有被附值,你可以运行到obj_get_text("tabpage_2.dw_2", text, 75, 1, 193, 27); 这个地方设置一个断点,然后查看text是否被附值, 不过我估计你多数是不能被附值的。原因是:

tabpage_2.dw_2这个控件winrunner没有认出这是一个标准的edit,所以它是用坐标来来确定这个object.所以你再次运行的时候坐标位置改变了,tabpage_2.dw_2这个控件当然找不到。

解决的办法是你把tabpage_2.dw_2这个控件映射到标准的控件edit。

queen 发表于 2006-9-13 19:10:00

我观察了rc和text两个变量的值如下:
rc:0
text:00000174
rc:0
text:WR
rc:0
text:00000176

真的是很难准确来获取正确的值,格式如:WR00000164

queen 发表于 2006-9-13 19:20:28

请教如何使用映射功能好吗?

是把tabpage_2.dw_2加到图中哪个位置?

[ 本帖最后由 queen 于 2006-9-14 10:00 编辑 ]

小李美刀 发表于 2006-9-14 10:44:48

I am realy sorry

I am very sorry to instructor you with wrong idea.

I check some functions, then now I think you use wrong function with tbl_set_selected_cell ("dw_list", text, "tcode");

tbl_set_selected_cell ( table, row, column ) function clicks the specified cell in the table. and you should know how to use it's all parameters

queen 发表于 2006-9-15 10:30:46

没关系的:)

我再想想办法。。。

有知情者,也请指点思路吧

[ 本帖最后由 queen 于 2006-9-15 14:57 编辑 ]

快乐逍遥 发表于 2006-9-15 17:38:58

tbl_set_selected_cell函数 的row可以是两种格式 "#行数" 或   "列名=对应行的内容"

按你所说的是第二种格式,但你的text只取到了列对应行的内容
我想你需要把它改为标准参数格式,像这个    "tcode=WR00000163"

WR中的帮助
By content: <Column_name>=<column_content1
>
The contents of one or more cells in the row, separated by semicolons and preceded by the name of the column in which they appear and an equal sign, such as "Flight_Number=306;From=LAX". The contents of all the cells specified must be present in order to specify the row. Choose this format to specify a row by the contents of cells in that row. If the contents of some cells appear in multiple rows, specify multiple cells whose contents will uniquely identify the row.

小李美刀 发表于 2006-9-15 18:29:37

I think

Now I think you can try it like this :

tbl_set_selected_cell ("dw_list", "#"text, "tcode");

queen 发表于 2006-9-15 19:24:04

告诉大家一个好消息,
用这样的方法,在变量前加了"tcode="& 就可以了。

tbl_set_selected_cell ("dw_list","tcode="&text, "tcode");

另外,也发现了obj_get_text("tabpage_2.dw_2", text, 75, 1, 193, 27);      # WR00000164对于这种用坐标实现的,经常会取不准数据,会漏掉几个字符。正如我上面观察的变量结果。

我用了edit_get_text ("dw_2.tcode", out_string );这种函数,就非常准确的取到编辑框中的值了。

终于试成功了,感谢大家的热心帮助,给了我很多的思路。

这个问题终于可以关闭了!

[ 本帖最后由 queen 于 2006-9-15 19:26 编辑 ]

angela.fly 发表于 2006-10-9 13:44:54

厉害
页: [1]
查看完整版本: tbl_set_selected_cell 中的row能用变量来替代吗?