51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4091|回复: 11
打印 上一主题 下一主题

[原创] QTP 测试.net windows forms 遇到问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-22 17:54:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 文本框先获得焦点,双击一个文本框然后弹出一个新窗体
问题:录制完了,回放时会鼠标会停留在这里,鼠标点击下就过去
2 点击某表格中(DataGridView)的某一列(DataGridViewLinkCell),
如“选择”去选择一条数据
问题:录制完了,回放时会鼠标会停留在这里,鼠标点击下就过去
3 状态栏(StatusStrip)里的提示信(StatusLabel)息,比如登陆系统成功后,用户账号显示在状态栏
问题:,想插入一个检查点去验证,不知道如何检查?
备注,QTP 9.2 加载了.net +web插件

[ 本帖最后由 haven6 于 2010-7-22 20:50 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-7-22 20:36:52 | 只看该作者
你是多少版本的QTP?
那个检查点可以用添加对象库实现。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-7-22 20:50:17 | 只看该作者
原帖由 hankliu520 于 2010-7-22 20:36 发表
你是多少版本的QTP?
那个检查点可以用添加对象库实现。

添加不了对象库 ,添加只能添加StatusStrip,不能添加到的子对象(StatusLabel), QTP9.2好像识别不出!

[ 本帖最后由 haven6 于 2010-7-22 20:52 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-7-22 22:27:31 | 只看该作者
QTP9.2 .NET插件应该没有破解吧。或者你是用的正版。只要看下你的录制的内容,控件是winobject还是swfbutton这种,就知道是否破解成功了。

那个添加是那样的,添加到本地对象库时,用spy ui那个按钮,点击页面的browser,会提示让你选择添加该页面的什么控件,那段文字会放在一个标签内,到时添加标签就相应的把文字也添加进去了。

或者直接用标准检查点也可以的。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-7-23 14:36:17 | 只看该作者
原帖由 hankliu520 于 2010-7-22 22:27 发表
QTP9.2 .NET插件应该没有破解吧。或者你是用的正版。只要看下你的录制的内容,控件是winobject还是swfbutton这种,就知道是否破解成功了。

那个添加是那样的,添加到本地对象库时,用spy ui那个按钮,点击页面的b ...

谢谢你响应我的问题,.NET插件是破解成功了,,你说spy ui那个按钮在哪里,能 否具体点?我只知道QTP有object spy .net windows forms spy,没看见spy ui那个按钮,是否是第三方插件?在网上查了下 好像它微软的的UI自动化工具 不知我说得对么,
它怎么和QTP结合起来?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-7-23 14:47:10 | 只看该作者
原帖由 hankliu520 于 2010-7-22 22:27 发表
QTP9.2 .NET插件应该没有破解吧。或者你是用的正版。只要看下你的录制的内容,控件是winobject还是swfbutton这种,就知道是否破解成功了。

那个添加是那样的,添加到本地对象库时,用spy ui那个按钮,点击页面的b ...

QTP9.2 .NET应该破解成功了,我录制下来的对象都是swf...类型,QTP中哪有spy ui(我能用object spy和 .net windows forms spy),是第三方控件吗?我在网上查了下,它是微软的UIA方面的工具?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-7-23 21:57:45 | 只看该作者
51怎么讨论技术不积极呢? 有QTP .NET测试经验的的牛人来讲讲啥,没经验的人带着我的问题去研究啊,大家一块进步
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-7-26 08:31:32 | 只看该作者

回复 1# 的帖子

第三个问题自己成功解决,先加个wait函数 再插入个位图检查点便解决
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2010-7-26 10:45:17 | 只看该作者
问题全部解决
第一个问题:+SwfEdit("txtResourceID").DblClick 0,0
第二个问题:+SwfTable("dgvShow").ClickCell 4, 0
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2010-7-26 11:03:53 | 只看该作者

脚本见下

SystemUtil.BlockInput  ' 开始禁止键盘鼠标操作
SwfWindow("ERP").SwfEdit("txtName").SetSelection 0,9
SwfWindow("ERP").SwfEdit("txtName").Type  micTab
SwfWindow("ERP").SwfEdit("txtPwd").SetSecure "4c4ce0f67740d80db4064023c8781769f462"
SwfWindow("ERP").SwfEdit("txtPwd").Type  micReturn
SwfWindow("ERP").SwfEdit("txtName").Type "david"
wait 5
SwfWindow("XX集团ERP管理系统").SwfObject("dgvWorke").Click 549,448
SwfWindow("XX集团ERP管理系统").SwfObject("dgvWorke").Type micCtrlDwn + "e" + micCtrlUp
wait 5
SwfWindow("XX集团ERP管理系统").Activate
'曾经想对状态栏的提示信息作个检查点(比如提示xx用户登录成功信息),把我难住了,这里没想到这么简单,添加个位图检查就解决问题
SwfWindow("XX集团ERP管理系统").SwfToolbar("statusStrip1").Check CheckPoint("statusStrip1")
SwfWindow("XX集团ERP管理系统").SwfToolbar("menuStrip1").ShowDropdown "采购员(R)"
wait 5
SwfWindow("XX集团ERP管理系统").SwfToolbar("menuStrip1").Select "采购员R);现场物资管理;物资进场"
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfButton("物资进场(I)").Click
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtResourceID").SetCaretPos 0
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtResourceID").SetCaretPos 0
'上面两句代码的意思文本框里先获得焦点,然后双击文本框跳出新窗体,没手动加下面这句代码(没自动录制下来),回放时焦点老是停留在这里不走
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtResourceID").DblClick 0,0
'表格的某行某列获得焦点
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfWindow("查找物资").SwfTable("dgvResourceInfo").SelectCell 3,"选择"
wait 10
'没手动加下面这句代码(没自动录制下来),回放时,光标老是停留在上一步
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfWindow("查找物资").SwfTable("dgvResourceInfo").ClickCell 3, 0
wait 10
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtResourceID").WaitProperty "text", AH010100003, 10000
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtNumber").Set "100"
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtPrice").Set "10"
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtSupplier").SetCaretPos 0
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtSupplier").SetCaretPos 0
wait 10
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEdit("txtSupplier").DblClick 0,0
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfWindow("物资供应商选择").SwfTable("dgvShow").SelectCell 4,"选择"
' 手动添加下面一段代码驱动脚本
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfWindow("物资供应商选择").SwfTable("dgvShow").ClickCell 4, 0
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEditor("txtValidation").SetCaretPos 0,0
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfEditor("txtValidation").Type "10"
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").Activate
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfButton("保  存(S)").Click
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").Dialog("系统提示").WinButton("确定").Click
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfWindow("物资进场").SwfButton("关  闭(C)").Click
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfButton("删  除(D)").Click
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").Dialog("系统提示").WinButton("是(Y)").Click
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").Dialog("系统提示").WinButton("确定").Click
SwfWindow("XX集团ERP管理系统").SwfWindow("物资进场").SwfButton("关  闭(C)").Click
SwfWindow("XX集团ERP管理系统").WinMenu("SystemMenu").Select "关闭(C)        Alt+F4"
SwfWindow("XX集团ERP管理系统").Dialog("系统提示").WinButton("确定").Click
SystemUtil.UnblockInput     '结束禁止键盘鼠标操作
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2012-9-20 15:32:36 | 只看该作者
楼主,想问个问题:
为什么我用“QuickTest .NET Windows Forms Spy”去识别系统中的控件对象,如:退出按钮,识别出的是“Window:用户登录”,单击“确认”,提示“The QuickTest .NET Windows Forms Spy works only on Windows Forms controls”,有遇到过这个问题吗?或者能稍微给我点思考线索吗?
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2012-9-20 15:32:43 | 只看该作者
楼主,想问个问题:
为什么我用“QuickTest .NET Windows Forms Spy”去识别系统中的控件对象,如:退出按钮,识别出的是“Window:用户登录”,单击“确认”,提示“The QuickTest .NET Windows Forms Spy works only on Windows Forms controls”,有遇到过这个问题吗?或者能稍微给我点思考线索吗?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-23 14:23 , Processed in 0.076883 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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