51Testing软件测试论坛

标题: QTP 测试.net windows forms 遇到问题 [打印本页]

作者: haven6    时间: 2010-7-22 17:54
标题: QTP 测试.net windows forms 遇到问题
1 文本框先获得焦点,双击一个文本框然后弹出一个新窗体
问题:录制完了,回放时会鼠标会停留在这里,鼠标点击下就过去
2 点击某表格中(DataGridView)的某一列(DataGridViewLinkCell),
如“选择”去选择一条数据
问题:录制完了,回放时会鼠标会停留在这里,鼠标点击下就过去
3 状态栏(StatusStrip)里的提示信(StatusLabel)息,比如登陆系统成功后,用户账号显示在状态栏
问题:,想插入一个检查点去验证,不知道如何检查?
备注,QTP 9.2 加载了.net +web插件

[ 本帖最后由 haven6 于 2010-7-22 20:50 编辑 ]
作者: hankliu520    时间: 2010-7-22 20:36
你是多少版本的QTP?
那个检查点可以用添加对象库实现。
作者: haven6    时间: 2010-7-22 20:50
原帖由 hankliu520 于 2010-7-22 20:36 发表
你是多少版本的QTP?
那个检查点可以用添加对象库实现。

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

[ 本帖最后由 haven6 于 2010-7-22 20:52 编辑 ]
作者: hankliu520    时间: 2010-7-22 22:27
QTP9.2 .NET插件应该没有破解吧。或者你是用的正版。只要看下你的录制的内容,控件是winobject还是swfbutton这种,就知道是否破解成功了。

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

或者直接用标准检查点也可以的。
作者: haven6    时间: 2010-7-23 14:36
原帖由 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结合起来?
作者: haven6    时间: 2010-7-23 14:47
原帖由 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方面的工具?
作者: haven6    时间: 2010-7-23 21:57
51怎么讨论技术不积极呢? 有QTP .NET测试经验的的牛人来讲讲啥,没经验的人带着我的问题去研究啊,大家一块进步
作者: haven6    时间: 2010-7-26 08:31
标题: 回复 1# 的帖子
第三个问题自己成功解决,先加个wait函数 再插入个位图检查点便解决
作者: haven6    时间: 2010-7-26 10:45
问题全部解决
第一个问题:+SwfEdit("txtResourceID").DblClick 0,0
第二个问题:+SwfTable("dgvShow").ClickCell 4, 0
作者: haven6    时间: 2010-7-26 11:03
标题: 脚本见下
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     '结束禁止键盘鼠标操作
作者: linyanqing    时间: 2012-9-20 15:32
楼主,想问个问题:
为什么我用“QuickTest .NET Windows Forms Spy”去识别系统中的控件对象,如:退出按钮,识别出的是“Window:用户登录”,单击“确认”,提示“The QuickTest .NET Windows Forms Spy works only on Windows Forms controls”,有遇到过这个问题吗?或者能稍微给我点思考线索吗?
作者: linyanqing    时间: 2012-9-20 15:32
楼主,想问个问题:
为什么我用“QuickTest .NET Windows Forms Spy”去识别系统中的控件对象,如:退出按钮,识别出的是“Window:用户登录”,单击“确认”,提示“The QuickTest .NET Windows Forms Spy works only on Windows Forms controls”,有遇到过这个问题吗?或者能稍微给我点思考线索吗?




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