51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3756|回复: 14
打印 上一主题 下一主题

相同的语法在不同的脚本中不能运行。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-10-23 11:37:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
所有相关的GUI Map已默认保存。
脚本A如下:
# 人员详细资料-人员基本信息的输入-脚本A开始
        win_activate ("人员详细资料");
# 人员基本信息_1
        set_window ("人员基本信息_1", 3);
        obj_mouse_click ("WindowsForms10.EDIT.app.0.2386859_1", 31, 10, LEFT);
        obj_type ("WindowsForms10.EDIT.app.0.2386859_1","10011");
        obj_mouse_click ("WindowsForms10.EDIT.app.0.2386859_0", 55, 9, LEFT);
        obj_type ("WindowsForms10.EDIT.app.0.2386859_0","chen11");
#脚本A结束
其中相关的二个对象在GUI Map里的属性如下:
WindowsForms10.EDIT.app.0.2386859_0的Physical Description为:
{
class: object,
MSW_class: "WindowsForms10.EDIT.app.0.2386859",
location: 0
}
WindowsForms10.EDIT.app.0.2386859_1的Physical Description为:
{
class: object,
MSW_class: "WindowsForms10.EDIT.app.0.2386859",
location: 1
}

另附上脚本B:
#做特定的记录的修改---脚本B开始
        set_window("WindowsForms10.Window.8.app.0.2386859_20", 6);
        obj_check_gui("修改", "list1.ckl", "gui1", 1);
        set_window ("WindowsForms10.Window.8.app.0.2386859_25", 2);
        win_mouse_click ("WindowsForms10.Window.8.app.0.2386859_25", 225, 48);
        wait(1);

# WindowsForms10.Window.8.app.0.2386859_20
        set_window ("WindowsForms10.Window.8.app.0.2386859_20", 260);
        obj_mouse_click ("修改", 22, 14, LEFT);
        wait(1);

# 人员基本信息_1
        set_window ("人员基本信息_1", 1);
        obj_mouse_dbl_click ("WindowsForms10.EDIT.app.0.2386859_1", 63, 8, LEFT);
        obj_type ("WindowsForms10.EDIT.app.0.2386859_1","10011");
        obj_mouse_dbl_click ("WindowsForms10.EDIT.app.0.2386859_0", 74, 6, LEFT);
        obj_type ("WindowsForms10.EDIT.app.0.2386859_0","chen11");
        wait(1);

# 人员信息
        set_window ("人员信息", 0);
        obj_mouse_dbl_click ("WindowsForms10.EDIT.app.0.2386859_3", 80, 7, LEFT);
        obj_type ("WindowsForms10.EDIT.app.0.2386859_3","zzzzxx");
        wait(1);
       
# WindowsForms10.Window.8.app.0.2386859_32
        set_window ("WindowsForms10.Window.8.app.0.2386859_32", 86);
        obj_mouse_click ("确定", 32, 12, LEFT);
#脚本B结束

现在的问题就是脚本A能正常的运行,则脚本A一内套到脚本B中,就运行找不到相应的对象了了。
(脚本A是单击对像,而脚本B是双击对像,我想这是没有什么多大的区别的,另我也有过把脚本B的同位置的改为单击的,也是不行的。)
然后我把脚本A另外在新建立脚本C中运行,又可以正常运行。
对于脚本B中一直认不出WindowsForms10.EDIT.app.0.2386859_0和WindowsForms10.EDIT.app.0.2386859_1这二个对象请求帮助。谢谢。

[ 本帖最后由 cc_test 于 2007-10-23 11:40 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-10-23 11:42:49 | 只看该作者

另注:

脚本B只有中间的如下四句一直出错,找不到对像,其他的行都是正确可以运行的:
        obj_mouse_dbl_click ("WindowsForms10.EDIT.app.0.2386859_1", 63, 8, LEFT);
        obj_type ("WindowsForms10.EDIT.app.0.2386859_1","10011");
        obj_mouse_dbl_click ("WindowsForms10.EDIT.app.0.2386859_0", 74, 6, LEFT);
        obj_type ("WindowsForms10.EDIT.app.0.2386859_0","chen11");
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-10-23 11:53:23 | 只看该作者
我没仔细看你的代码,不过出现这类型问题大多数是你嵌套时导致了
SET_WINDOWS的混乱
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-10-23 11:56:27 | 只看该作者
你把你A嵌到B的代码贴出来看看,上面的代码A和B是独立的吧.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-10-23 11:59:02 | 只看该作者

set_windows..

我查看了测试结果报告,里面有提示出错的只是在那四句上面。而从来都没有在提示set_windows上面出错,是否是我在调用新窗口时,等待时间太久了,set_windows后面的语句就出错了???
我把wait改为对像检查点看看,上网真是不方便,上网的机子和做测试的机子不在一起。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-10-23 12:00:38 | 只看该作者
不是这个问题,SET_WINDOWS不会提示错误的,只会导致后面的对象找不到GUI

还有你的A脚本和B脚本的GUI是不是已经放在一起了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-10-23 12:02:38 | 只看该作者
如果已经放到一起的话你可以测试一下GUI,点SHOW测试是否闪烁.
我估计不是你脚本代码有错误,而是GUI对象的问题.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-10-23 12:02:46 | 只看该作者

是的,全放在一起的。

都是在同一个GUI File中。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-10-23 12:07:03 | 只看该作者

查到原因了,另请教一下

查到原因了,原来是我点击修改按钮后,系统调用新窗口(具体的修改窗口)时,因为这个窗口调出的时间差不多要七秒多,所以造成后面的双击对象输入框时的响应时间不够吧,然后就造成了那四句出错了,我在点击修改按钮后面的wait函数的时间设为十秒,就全部正常了。

但我有在别的测试机上面测试过,好的机子打开修改窗口只要一秒就可以了,在我刚才差的机子上面打开要七八秒。请问你们对于这类的新窗口打开速度慢的问题是怎么设置检查点还是用wait函数来等呢。用wait明显有浪费的现像。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-10-23 12:07:47 | 只看该作者
恩,你代码里设置的等待时间都是0或者1,我习惯性都会把时间调得比较长

[ 本帖最后由 mythxhg 于 2007-10-23 12:10 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2007-10-23 12:12:05 | 只看该作者
我是想应该不可能用wait 来等的吧。因为不同的机子对各种程序的响应时间的不同,总不可能叫所有的机子都等十秒吧。
我也是刚学Winrunner才几天,所以不清楚中,请楼上的和各位把你们的经验写一下,谢谢。

刚才我有试了一下用GUI对象检查点来代替wait(10),可是只要一少掉等待函数,GUI对象检查点也是出错的,而补回wait函数后又全部是正常的了。
我想总不可能全用wait函数吧,大家是用什么高招。
help me ,thanks!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-10-23 12:14:17 | 只看该作者
原帖由 mythxhg 于 2007-10-23 12:07 发表
恩,你代码里设置的等待时间都是0或者1,我习惯性都会把时间调得比较长


设置的很多的话,不是很浪费时间,我也不是很常在很多的地方用wait函数,因为是刚学几天,所以我想先用这函数来先用用。等这两天学多了,我换用别的方法来代替掉wait函数,而别的方法还没有开始正式的研究中,不知你们的经验是什么。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2007-10-23 12:18:51 | 只看该作者
我试了一下,好像用win_wait_bitmap之类的函数来读取新开的窗口的标题好像是可以了的,下班了。下午继续。呵。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-10-23 13:01:38 | 只看该作者
不会浪费时间,我设置的30秒是最长等待时间,如果它2秒就出现那么也只等待2秒,
obj_wait_info
或者
win_wait_info等等
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2007-10-23 13:50:55 | 只看该作者
呵。谢了。我前面是用wait.没用win_wait_info之类的。以后就知道了,又多了解一点了。呵。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-9 10:29 , Processed in 0.081161 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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