51Testing软件测试论坛

标题: 通配符号问题 [打印本页]

作者: lzq123335    时间: 2007-1-17 15:08
标题: 通配符号问题
有一个多窗口应用程序,该主窗口下的子窗口标题名称是你所打开的文件名称。比如你打开文件D:\123.cfc
然后子窗口标题就是D:\123.cfc
我每次就打开一个文件。于是 我使用通配符来标识子窗口
{
  class:window,
  MSW_class: "!Afx:.*" ,
  label: "!D:.*"
}
wr提示"Object is not unique",后来我发现,wr打开脚本文件D:\Scripts\456后,窗口名称为"Winrunner -  [D:\Scripts\456]"
当我在wr中关闭该文件时候,就可以识别那个子窗口了

但是" !D:.*"应该表示的是 从D开始所有的窗口啊,而"Winrunner -  [D:\Scripts\123]" 它是从winrunner开始的啊?
除非我使用了"!.*D:.*"才可以识别出wr的这个窗口啊?


我所测试的文件都放在了d盘,脚本也放在该盘。及时调试时候,都不能成功。看看各位有什么好的办法解决该问题。
作者: dionysus    时间: 2007-1-17 16:50
你是用WR测试的什么程序?为什么后来的窗口名称会显示为“Winrunner - ...”?gui map文件中维护的是被测软件的物理描述,这个提示说明加入通配符后WR识别窗体不唯一了。
作者: lzq123335    时间: 2007-1-17 17:11
wr打开脚本文件D:\Scripts\456后,窗口名称为"Winrunner -  [D:\Scripts\456]"

这个是Winrunner的窗口名称啊

是不唯一的啊。但是winrunner窗口名称也不符合通配符号的规则啊!
作者: dionysus    时间: 2007-1-17 22:45
原帖由 lzq123335 于 2007-1-17 15:08 发表
有一个多窗口应用程序,该主窗口下的子窗口标题名称是你所打开的文件名称。比如你打开文件D:\123.cfc
然后子窗口标题就是D:\123.cfc
我每次就打开一个文件。于是 我使用通配符来标识子窗口
{
  class:windo ...

你使用WR录制这个多窗口的应用程序,gui map文件中应该保存的是这个应用程序的物理识别描述,label中应该是d:\123.cfc而非winrunner - ...
你的意思是不是说WR回放脚本的时候把自己的窗体也识别了,导致使用通配符后不能唯一确定操作的窗体?WR回放脚本的时候会把自己的窗体也判断识别么?手头没有符合楼主描述的程序,其他高手指教吧

[ 本帖最后由 dionysus 于 2007-1-18 11:29 编辑 ]
作者: lzq123335    时间: 2007-1-18 11:03
是啊,它也不会记录Winrunner的窗口名称 。但它确要去识别这个窗口啊
我只开了两个应用程序。

你打开d:\123.cfc时候,label确实也是这个。但是打开了d:\456.cfc了,窗口就变成了d:\456.cfc,我要打开n多个文件,不能在gui文件中添加n多个窗口吧。

我现在问题是想问怎么去解决。难道这个是wr的一个bug?
作者: tiemuzhen    时间: 2007-1-18 13:21
楼上问题米表示清楚口牙
作者: lzq123335    时间: 2007-1-18 16:31
也就是说Winrunner 主程序的窗口名称,影响了通配符号的识别。
测试的应用程序窗口名称为:D:\123.cfc
Winrunner程序窗口名称为:Winrunner -  [D:\Scripts\456]"
使用窗口通配符号来指定所有测试应用程序的窗口(窗口名称是随所打开文件的路径+名字来命名的,因此打开一个不同文件,窗口名字就不一样了)
logical name为:FileWin
{
  class:window,
  MSW_class: "!Afx:.*" ,
  label: "!D:.*"
}

按理说,该通配符号只识别所测试的应用程序窗口,但是在GUI Editor中点击该FileWin时候,提示"The Object is not unique".

而当我在Winrunner中关闭脚本D:\Scripts\456后,就可以正确找到这个窗口了。但不打开该脚本,就不能运行啊。

所以不知道怎么处理,不知这次的表述大家是否明白。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2