51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2302|回复: 7
打印 上一主题 下一主题

[原创] 如何捕获该窗口上在按钮?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-20 14:06:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们这次开发采用的是.NET和C++语言进行开发,但是我在用QTP9.2进行录制后的回放过程中发现在图2中停止了回放,换句话说,也就是说在录制时只捕获了他的图片(不知道这么说是否正确),但没有捕获它后面包含在控件,所以在回放时无法回放。请问,我该如何解决这个问题。
________________________________________________________________________________________________________
Window("hs").WinListView("SysListView32").Select "SZ.ALARM.exe"
Window("hs").WinListView("SysListView32").Activate "SZ.ALARM.exe"
*******************************************************************************
Window("安全防范和应急指挥系统").WinObject("系统设置").Click 46, 7
*******************************************************************************
rem 目前是上面这段代码无法识别

Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").WinObject("0104").Click 73,10
Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").WinObject("0104").Type  micBack
Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").WinObject("0104").Type  micBack
Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").WinObject("0104").Type  micBack
Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").WinObject("0104").Type  micBack
Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").WinObject("0104").Type  micBack
Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").WinObject("0104").Type "0510"
Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").WinObject("保   存").Click 85,22
Window("安全防范和应急指挥系统").Window("系 统 参 数 设 置").Dialog("成功").WinButton("确定").Click
Window("安全防范和应急指挥系统").DblClick 861,459
Window("hs").WinListView("SysListView32").Activate "SZ.ALARM.exe"
Window("安全防范和应急指挥系统").WinEdit("Edit").Set "ygl"
Window("安全防范和应急指挥系统").WinObject("1").Click 29,11
Window("安全防范和应急指挥系统").WinObject("1").Type  micBack
Window("安全防范和应急指挥系统").WinObject("1").Type "1"
Window("安全防范和应急指挥系统").WinObject("确    定").Click 39,14
Window("安全防范和应急指挥系统").WinObject("WindowsForms10.Window.8.app.0.").Click 910,18
Window("安全防范和应急指挥系统").DblClick 964,345
Window("hs").WinListView("SysListView32").Type  micF5
________________________________________________________________________________________________________

[ 本帖最后由 madwolfer 于 2010-1-20 14:28 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-1-20 17:36:35 | 只看该作者
是要运行一个exe,然后再点击吧?
Window("hs").WinListView("SysListView32").Select "SZ.ALARM.exe"
Window("hs").WinListView("SysListView32").Activate "SZ.ALARM.exe"
Wait 10
For intLoop = 1 To 10
   If Window("安全防范和应急指挥系统").Exist(1) Then
      Window("安全防范和应急指挥系统").Activate
      Window("安全防范和应急指挥系统").WinObject("系统设置").Click 46, 7
      intLoop = 10
   Else
      Wait 1
   End If
Next
试试这个。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-1-20 17:38:05 | 只看该作者
其实可以直接 SystemUtil.Run "程序路径"
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-1-21 09:56:04 | 只看该作者
能够运行到这里说明程序已经起来了,接下来的问题应该是对象没有识别,仅仅识别成了最基本的WinObject对象,并且采用了坐标定位。解决的简单方法是可以加载.NET Addin试试,如果没有可以考虑采用虚拟对象。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-1-21 09:57:09 | 只看该作者
同时可以用Object Spy判断对象的识别情况
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-1-22 13:55:29 | 只看该作者
原帖由 风雪夜归人 于 2010-1-20 17:36 发表
是要运行一个exe,然后再点击吧?
Window("hs").WinListView("SysListView32").Select "SZ.ALARM.exe"
Window("hs").WinListView("SysListView32").Activate "SZ.ALARM.exe"
Wait 10
For intLoop = 1 To 10
    ...

今天按照你给出的代码去实验了哈,不行。

我发现这个问题是普遍的,很多人在使用QTP时都遇到这样的情况。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-1-22 13:56:03 | 只看该作者
原帖由 dhrbc 于 2010-1-21 09:56 发表
能够运行到这里说明程序已经起来了,接下来的问题应该是对象没有识别,仅仅识别成了最基本的WinObject对象,并且采用了坐标定位。解决的简单方法是可以加载.NET Addin试试,如果没有可以考虑采用虚拟对象。

请问你说的.NET Addin如何使用?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-1-22 13:56:35 | 只看该作者
原帖由 dhrbc 于 2010-1-21 09:57 发表
同时可以用Object Spy判断对象的识别情况

请问你这个如何使用,能否给出详细的案例或者代码?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-2 14:13 , Processed in 0.078509 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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