51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: ivystone
打印 上一主题 下一主题

[原创] 各位高手请指教我,非常的着急!!!!万分感谢

[复制链接]

该用户从未签到

61#
 楼主| 发表于 2007-7-2 16:45:09 | 只看该作者
原帖由 winfood 于 2007-7-2 16:20 发表

可能是那个应用程序的特点,有不少程序都是这样的。比如在MS Word中打开多个新建文档,窗口标题也是这样的。
28395

这种情况下用描述性编程要简单一些,这种方式和录制的对象不一样。比如你新建一个脚本并 ...



谢谢刘哥!我下班了,赶着去买菜,今天轮到我做饭!

明天我试试!!sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

62#
发表于 2007-7-3 14:49:16 | 只看该作者
讨论的好激烈啊
回复 支持 反对

使用道具 举报

该用户从未签到

63#
 楼主| 发表于 2007-7-27 12:10:38 | 只看该作者
原帖由 winfood 于 2007-7-2 16:20 发表

可能是那个应用程序的特点,有不少程序都是这样的。比如在MS Word中打开多个新建文档,窗口标题也是这样的。
28395

这种情况下用描述性编程要简单一些,这种方式和录制的对象不一样。比如你新建一个脚本并 ...



刘哥,现在的情况是这样的,我这个项目7月底交货,84%的测试部分和这个画面没有关系。
还有16%的内容由于不能录制画面还没有解决。
我用你的方法尝试了n遍都没有用,是不是那里我搞错了阿?昏死!~sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

64#
 楼主| 发表于 2007-7-27 12:14:48 | 只看该作者
'JP1AJS2_Login
SystemUtil.Run "C:\Program Files\HITACHI\JP1AJS2V\bin\ajs.exe","","C:\Program Files\HITACHI\JP1AJS2V\bin","open"
Window("View").Window("ログイン").WinEdit("Edit").Type  micTab
Window("View").Window("ログイン").WinEdit("Edit_2").SetSecure "46a8718876871fa2db5f5bc374dc78a6c0196cbe6a8e"
Window("View").Window("ログイン").WinEdit("Edit_2").Type  micTab
Window("View").Window("ログイン").WinObject("SunAwtCanvas").Type "SQA12-87"
Window("View").Window("ログイン").WinButton("OK").Click
Window("View_2").WinMenu("Menu").Select "<Item 2>;<Item 1>;<Item 2>"
Window("View_2").Window("[ジョブネット]").WinObject("SunAwtCanvas").Click 192,5
Window("View_2").Window("[ジョブネット]").WinEdit("Edit").Set "ジョブネット"
Window("View_2").Window("[ジョブネット]").WinButton("OK").Click
Window("View_2").WinMenu("Menu").Select "<Item 3>;<Item 1>"
Window("View_2").Window("実行登録").WinButton("OK").Click
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'モニタ画面
Window("View_2").WinMenu("Menu").Select "<Item 4>;<Item 3>;<Item 1>"
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ").WinMenu("Menu").Select "<Item 2>;<Item 2>"
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ").Window("検索").WinButton("ヘルプ").Click
Browser("[検索]ダイアログボックス").Page("[検索]ダイアログボックス").Sync
Browser("[検索]ダイアログボックス").Close
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ").Window("検索").WinButton("閉じる").Click
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ").Close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'JP1AJS2_Logout
Window("View_2").WinMenu("Menu").Select "<Item 3>;<Item 2>"
Window("View_2").Window("登録解除").WinButton("OK").Click
Window("View_2").WinObject("SunAwtCanvas").Type micCtrlDwn + "d" + micCtrlUp
Window("View_2").Window("KAVV308-Q").WinButton("はい").Click
Window("View_2").Close
Window("View_2").Window("KAVV335-Q").WinButton("はい").Click
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'JP1AJS2_Login
SystemUtil.Run "C:\Program Files\HITACHI\JP1AJS2V\bin\ajs.exe","","C:\Program Files\HITACHI\JP1AJS2V\bin","open"
Window("View").Window("ログイン").WinEdit("Edit").Type  micTab
Window("View").Window("ログイン").WinEdit("Edit_2").SetSecure "46a8718876871fa2db5f5bc374dc78a6c0196cbe6a8e"
Window("View").Window("ログイン").WinEdit("Edit_2").Type  micTab
Window("View").Window("ログイン").WinObject("SunAwtCanvas").Type "SQA12-87"
Window("View").Window("ログイン").WinButton("OK").Click
Window("View_2").WinMenu("Menu").Select "<Item 2>;<Item 1>;<Item 2>"
Window("View_2").Window("[ジョブネット]").WinObject("SunAwtCanvas").Click 192,5
Window("View_2").Window("[ジョブネット]").WinEdit("Edit").Set "ジョブネット"
Window("View_2").Window("[ジョブネット]").WinButton("OK").Click
Window("View_2").WinMenu("Menu").Select "<Item 3>;<Item 1>"
Window("View_2").Window("実行登録").WinButton("OK").Click
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Window("View_2").Activate
Window("View_2").WinMenu("Menu").Select "<Item 4>;<Item 3>;<Item 1>"
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ_2").WinMenu("Menu").Select "<Item 2>;<Item 2>"
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ_2").Window("検索").WinButton("閉じる").Click
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ_2").Close
Window("View_2").Activate
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Window("View_2").WinMenu("Menu").Select "<Item 3>;<Item 2>"
Window("View_2").Window("登録解除").WinButton("OK").Click
Window("View_2").WinObject("SunAwtCanvas").Type micCtrlDwn + "d" + micCtrlUp
Window("View_2").Window("KAVV308-Q").WinButton("はい").Click
Window("View_2").Close
Window("View_2").Window("KAVV335-Q").WinButton("はい").Click

[ 本帖最后由 ivystone 于 2007-7-27 12:15 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

65#
 楼主| 发表于 2007-7-27 15:11:57 | 只看该作者
sdlkfj9 各位前辈高人ggjjddmm们帮忙阿!~~~~~sdlkfj9

sdlkfj9 万分感谢!~~~~~~~

[ 本帖最后由 ivystone 于 2007-7-27 15:21 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

66#
 楼主| 发表于 2007-7-30 08:00:40 | 只看该作者
我顶阿!~~~ sdlkfj9 大家帮忙啊!~~~~

求助中~~~
回复 支持 反对

使用道具 举报

该用户从未签到

67#
发表于 2007-7-30 09:34:37 | 只看该作者
原帖由 ivystone 于 2007-7-27 12:14 发表
'JP1AJS2_Login
SystemUtil.Run "C:\Program Files\HITACHI\JP1AJS2V\bin\ajs.exe","","C:\Program Files\HITACHI\JP1AJS2V\bin","open"
Window("View").Window("ログイン").WinEdit("Edit").Type  micTab
...

这段脚本里面包含了两次相差不大的操作流程,目前最快的解决办法就是把被你标为红色的代码部分用描述编程归纳一下。
可以分成两步来摸索并实现:
用描述编程来替换标记为红色的语句;
在上一步没有问题的基础上,找到Window对象的规律性归纳一下(因为多次操作的时候窗口标题会不同,可以把相同的代码归纳成可以重复利用的);

先来做第一步,描述脚本中的对象。需要注意的是,当多个对象同时出现在一条语句的时候,从出现描述编程的对象开始其后都要用描述编程。因为从语句使用描述那一刻开始,QTP就不再从对象库里面搜索后面的对象了。
比如:
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ").WinMenu("Menu").Select "<Item 2>;<Item 2>"
如果把第一个Window对象换为描述性的,那么后面的WinMenu也许要换成描述性的才能通过。
就像这样:
Window("WndProp:=WndPropVal").WinMenu("MenuProp:=MenuPropVal").Select "<Item 2>;<Item 2>"
其中的WndProp,WndPropVal,MenuProp,MenuPropVal分别是描述Window对象和WinMenu对象的属性和属性值。因为我不知道你的程序中这些属性和属性值,这里先用符号代替了。你可以把你的对象库保存下来发给我,我可以帮你看看。

如果第一步行得通,接下来就可以把有规律的东西放在一起了。
比如:
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ").WinMenu("Menu").Select "<Item 2>;<Item 2>"
Window("AJSROOT1:/ジョブネット - ジョブネットモニタ_2").WinMenu("Menu").Select "<Item 2>;<Item 2>"
这两次执行的语句,其实只有窗口标题不同。在第一步里面实现了
Window("WndProp:=WndPropVal").WinMenu("MenuProp:=MenuPropVal").Select "<Item 2>;<Item 2>"
那么接下来可以把WndPropVal和"<Item 2>;<Item 2>"都参数化一下,就像
Window("WndProp:=" & strWndTitle).WinMenu("MenuProp:=MenuPropVal").Select strMenuItem
这样只要每次给变量strWndTitle和strMenuItem赋不同的值就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

68#
 楼主| 发表于 2007-7-30 10:06:58 | 只看该作者
原帖由 winfood 于 2007-7-30 09:34 发表

这段脚本里面包含了两次相差不大的操作流程,目前最快的解决办法就是把被你标为红色的代码部分用描述编程归纳一下。
可以分成两步来摸索并实现:
用描述编程来替换标记为红色的语句;
在上一步没有问题的基 ...



谢谢刘哥,我调试一下以后给你发信息!~~~sdlkfj6
回复 支持 反对

使用道具 举报

该用户从未签到

69#
发表于 2007-8-1 09:43:36 | 只看该作者

回复 #64 ivystone 的帖子

请把Window("AJSROOT1:/ジョブネット - ジョブネットモニタ")对象的属性抓个图方上来看看,另外你说的总是会变化的属性是哪个?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 10:26 , Processed in 0.068005 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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