51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2143|回复: 6
打印 上一主题 下一主题

[求助] 仍然是鼠标双击的那个地方....

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-10-16 15:37:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1 有个地方,要鼠标双击后,才能弹出对话框,选择数据。本来用QTP录制不到双击,所以录制完成后,这一步后面的弹出对话框什么的都没办法回放了。
2 后来在tools>>web event recording configration中设置好了ondblclick,再试试重新录制,
3 这下可以录制到这个双击地方了,所以双击它弹出对话框什么的都可以录了。
4 回放的时候,之前的都可以回放,一直到双击那个地方,然后弹出对话框内选择数据然后关闭对话框,页面这时返回到那个双击的地方,就报错。

请问怎么解决??求有经验的同行写下清晰明了的步骤。

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

7#
发表于 2009-10-19 14:21:46 | 只看该作者
可能是因为到第13步的时候弹出窗口了,导致qtp无法识别,建议第13步使用低级录制,根据坐标固定输入框输入尝试下看,应该是不会报错的。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-10-19 12:39:16 | 只看该作者
里面选择人是只点一下的, 选择好后,确定,关闭对话框
我修改了下,你试试
1 Browser("生产任务管理系统DS-TMS--用户登录").Page("生产任务管理系统DS-TMS--用户登录").WebEdit("txtPassword").SetSecure "4adbbd0791815cfe919e1511"
2 Browser("生产任务管理系统DS-TMS--用户登录").Page("生产任务管理系统DS-TMS--用户登录").WebButton("登录").Click
3 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统").Link("工作票办理").Click
4 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_2").Link("措施执行").Click
'5 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebEdit("ctl00$mainContent$txtChargePer").Click
''注释掉5行
6 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebEdit("ctl00$mainContent$txtChargePer").FireEvent "ondblclick"
7 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Activate
8 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Activate
9 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Page("DS-TMS生产任务管理系统").Link("发电分场").Click
''如果该行就是选择 孙玉宝的情况 ,那么13行是可以注释掉的
10 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Page("DS-TMS生产任务管理系统").WebRadioGroup("ctl00$MainContent$rbtnPersonLi").Select "PER25857113-a75e-4fba-ac32-ef54c26ae75d"
11 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Page("DS-TMS生产任务管理系统").WebEdit("ctl00$MainContent$txtPassword").SetSecure "4adbbd2e668c4ff632de798c"
12 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Page("DS-TMS生产任务管理系统").WebButton("确定").Click
'‘9-12行应该已经给WebEdit("ctl00$mainContent$txtChargePer")赋值了,如果没有,考虑修改脚本后,同样可以注释掉13行,否则9-12行没存在意义
'13 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebEdit("ctl00$mainContent$txtChargePer").Set("孙玉宝")
14 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebButton("保存").Click
15 Browser("生产任务管理系统DS-TMS--用户登录").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-10-19 11:53:23 | 只看该作者
谢谢了, 我的操作是这样的 :   是先双击一个字段“值班负责人”, 才弹出对话框, 里面选择人是只点一下的, 选择好后,确定,关闭对话框。回到开始双击的那个字段“值班负责人”,然后保存,注销。
脚本回放之后,双击字段>弹出对话框>选择好人员>点确定>自动关闭对话框后, 报错。
我检查脚本,在关闭对话框后,自动的多了一行打开对话框之前的操作脚本。但我并没有这个操作, 问了下开发人员,他说关闭对话框后, 还有一个事件,是把选择的值给了那个字段, 所以我以为QTP把这个事件录制成了又一次双击那个字段。。。
所以只好改一下这一句脚本了,改了后就可以回放了。
脚本如下:
1 Browser("生产任务管理系统DS-TMS--用户登录").Page("生产任务管理系统DS-TMS--用户登录").WebEdit("txtPassword").SetSecure "4adbbd0791815cfe919e1511"
2 Browser("生产任务管理系统DS-TMS--用户登录").Page("生产任务管理系统DS-TMS--用户登录").WebButton("登录").Click
3 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统").Link("工作票办理").Click
4 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_2").Link("措施执行").Click
5 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebEdit("ctl00$mainContent$txtChargePer").Click
6 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebEdit("ctl00$mainContent$txtChargePer").FireEvent "ondblclick"
7 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Activate
8 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Activate
9 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Page("DS-TMS生产任务管理系统").Link("发电分场").Click
10 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Page("DS-TMS生产任务管理系统").WebRadioGroup("ctl00$MainContent$rbtnPersonLi").Select "PER25857113-a75e-4fba-ac32-ef54c26ae75d"
11 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Page("DS-TMS生产任务管理系统").WebEdit("ctl00$MainContent$txtPassword").SetSecure "4adbbd2e668c4ff632de798c"
12 Browser("生产任务管理系统DS-TMS--用户登录").Window("DS-TMS生产任务管理系统 -- 网页对话框").Page("DS-TMS生产任务管理系统").WebButton("确定").Click
13 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebEdit("ctl00$mainContent$txtChargePer").Set("孙玉宝")
14 Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebButton("保存").Click
15 Browser("生产任务管理系统DS-TMS--用户登录").Dialog("Microsoft Internet Explorer").WinButton("确定").Click

13行脚本本来在录制后,是和第6行一模一样的,不知道为什么会多那么一行,我根本没再次双击那个字段。后来就改成了现在的13行这个脚本。
针对这个情况还有没有其他办法解决请告诉我。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-10-19 10:30:17 | 只看该作者
个人来看,你这样解决是不对的,因为你没有真实模拟你的操作

你点击ctl00$mainContent$txtChargePer 页面,应该是弹出一个页面,这个页面包含一系统姓名信息
然后双击 完成对 姓名的选择
同时这个被你双击的名字把值给了webedit
你通过对webedit的直接赋值来完成

个人认为,你使用对象仓库,然后添加对象,将----"孙玉宝")
这个对象加入对象仓库,应该是一个webelement
然后Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").webelement(孙玉宝).fireevent"ondblclick"
加个断点
试试这个,是不是更真实
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-10-19 09:55:23 | 只看该作者

回复 2# 的帖子

回复2#:   对 是回放的时候 可以回放双击字段,弹出对话框,录入数据了。关闭对话框后才报错。(也就是回到那个字段后,报错)

现在问题解决了 , 原来它关闭对话框后,自动执行了一个赋值给那个字段的事件,而QTP录制的时候,这个过程却不是正确录制的赋值,而是又录制了一次双击字段的操作,所以报错。
在脚本里,把关闭对话框后的那一句脚本:
Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebEdit("ctl00$mainContent$txtChargePer").FireEvent "ondblclick"
改成:
Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").WebEdit("ctl00$mainContent$txtChargePer").Set("孙玉宝")
就OK啦   问题终于解决了 呵呵 。
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2009-10-16 15:59:49 | 只看该作者
原帖由 celestial1 于 2009-10-16 15:37 发表
一直到双击那个地方,然后弹出对话框内选择数据然后关闭对话框,页面这时返回到那个双击的地方,就报错

是说现在回放的时候能弹出对话框进行数据的录入,关闭后才报错么?

还有说下你那要进行双击操作的是什么控件,看能不能用qtp能识别的方法实现操作哦
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 16:45 , Processed in 0.081823 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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