51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3656|回复: 8
打印 上一主题 下一主题

winrunner 几个函数的使用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-19 20:53:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没人知道为什么obj_move_locator_text();这个函数为什么有时可以有时失效啊,我第一使用成功,然后接着都不行了 ;

这个函数是在对象内查找内容符合的字符串然后把鼠标焦点移动到那里的,第一次使用时可以,接着关了程序再开就不行了 ;

我的系统是XP SP2的,

WIN2003 SERVER版本也试过,都有这样的问题。

[ 本帖最后由 mythxhg 于 2007-1-31 15:54 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-1-22 15:11:54 | 只看该作者
在海松宝前辈那里看到一个相关的解决方法,使用FONTS EXPERT方法,但是我学习了字体之后运行却出现内存出错.

难到51TESTING就没一个人遇到过这样的问题吗?还是说不愿意分享经验啊 ?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-1-22 16:26:56 | 只看该作者
类似于查找字符串的函数也用过,确实不太稳定,可能跟系统有很大关系。
obj_move_locator_text()我也没用过,今天试试了不知道用法对不对,但是没有查到
比如obj_move_locator_text("xxxx","通用",coord_array[1],coord_array[2],coord_array[3],coord_arry[4]);想得到“通用”的位置,但返回值为-10136,没有找到字符串。
用了另一个函数可以找到obj_find_text("xxxx","通用",coord_array,FLASE); x=coord_array[1];y=coord_array[2];然后可以根据x,y来给光标定位,如clobj_mouse_click ("xxxx", coord_array[1], coord_array[2], LEFT);
楼主可以试试用obj_find_text();来实现。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-1-22 18:07:57 | 只看该作者
你是第一给给我意见的人,非常感谢,先试试.sdlkfj3
对于那些不明不白的错误真的让我郁闷死了sdlkfj8
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-1-22 18:21:43 | 只看该作者
很郁闷啊,返回是-10136,找不到字符的提示.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-1-23 08:40:00 | 只看该作者
obj_move_locator_text是在对象里移动鼠标到一个字符串,这个函数的前提是wr首先识得对象,是不是你回放的时候找不到对象?将你出错的代码贴出来看看。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-1-23 14:48:34 | 只看该作者
d = getvar("fontgrp");
setvar("fontgrp","CPCFonts");
#5, 117, 96, 721   控件坐标范围
f = obj_move_locator_text("TdxNavBar","企业建模",TRUE);
wait(1);
dbl_click("Left");

find = obj_find_text("TdxNavBar","企业建模",coord_array,TRUE);
x = coord_array[1];
y = coord_array[2];
wait(2);
obj_mouse_dbl_click("TdxNavBar",x,y,LEFT);

setvar("fontgrp",d);

TdxNavBar对象是可以回放的,它是个自定义控件,不是标准控件.
都是返回-10136
上面试了2个,都是找不到
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-1-24 23:52:16 | 只看该作者
楼上,非标准控件,WR是识别不了,所以会出现这样的问题,所以你可以将非标准控件配置成标准控件,并将相应的脚本放到启动脚本中,这样每次运行的时候,WR才会识别该对象。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-1-28 15:45:58 | 只看该作者
控件是已经可以识别到的了,虽然是OBJ对象,但是我已经将这个TdxNavBar映射为OBJ对象处理,运行可以回放的,我试过对别的OBJ对象进行一样的操作,结果是可以找到要找的字符位置的,惟独这个控件不行。
      后来我通过OBJ对象识别出来后获取其句柄,然后再用通过句柄控制该控件的操作实现了智能的识别.
      总结以下,大概有点心得:
      1,标准控件,直接使用TSL的函数操作
      2,非标准控件:
          1)映射为标准控件,使用TSL函数操作
          2)无法影射为标准控件的请影射为OBJ对象,尽量使用OBJ的TSL函数完成
          3)无法影射为标准控件的请影射为OBJ对象,也无法使用OBJ的TSL函数完成的,请使用精确模拟方式实现(键盘操作,不使用鼠标轨迹)
          4)以上方法均无法实现的话,也请将该控件影射为OBJ对象,使用OBJ_GET_INFO函数获取其句柄,然后直接通过句柄来控制该控件(需要有WINDOWS的SDK编程知识)。
          5)开发DLL调用,模拟控件的操作,一般与4)结合使用比较好。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 15:35 , Processed in 0.084181 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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