51Testing软件测试论坛

标题: 仍然是鼠标双击的那个地方.... [打印本页]

作者: celestial1    时间: 2009-10-16 15:37
标题: 仍然是鼠标双击的那个地方....
1 有个地方,要鼠标双击后,才能弹出对话框,选择数据。本来用QTP录制不到双击,所以录制完成后,这一步后面的弹出对话框什么的都没办法回放了。
2 后来在tools>>web event recording configration中设置好了ondblclick,再试试重新录制,
3 这下可以录制到这个双击地方了,所以双击它弹出对话框什么的都可以录了。
4 回放的时候,之前的都可以回放,一直到双击那个地方,然后弹出对话框内选择数据然后关闭对话框,页面这时返回到那个双击的地方,就报错。

请问怎么解决??求有经验的同行写下清晰明了的步骤。
作者: 杨超    时间: 2009-10-16 15:59
原帖由 celestial1 于 2009-10-16 15:37 发表
一直到双击那个地方,然后弹出对话框内选择数据然后关闭对话框,页面这时返回到那个双击的地方,就报错

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

还有说下你那要进行双击操作的是什么控件,看能不能用qtp能识别的方法实现操作哦
作者: celestial1    时间: 2009-10-19 09:55
标题: 回复 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啦   问题终于解决了 呵呵 。
作者: love_yebin    时间: 2009-10-19 10:30
个人来看,你这样解决是不对的,因为你没有真实模拟你的操作

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

个人认为,你使用对象仓库,然后添加对象,将----"孙玉宝")
这个对象加入对象仓库,应该是一个webelement
然后Browser("生产任务管理系统DS-TMS--用户登录").Page("DS-TMS生产任务管理系统_3").webelement(孙玉宝).fireevent"ondblclick"
加个断点
试试这个,是不是更真实
作者: celestial1    时间: 2009-10-19 11:53
谢谢了, 我的操作是这样的 :   是先双击一个字段“值班负责人”, 才弹出对话框, 里面选择人是只点一下的, 选择好后,确定,关闭对话框。回到开始双击的那个字段“值班负责人”,然后保存,注销。
脚本回放之后,双击字段>弹出对话框>选择好人员>点确定>自动关闭对话框后, 报错。
我检查脚本,在关闭对话框后,自动的多了一行打开对话框之前的操作脚本。但我并没有这个操作, 问了下开发人员,他说关闭对话框后, 还有一个事件,是把选择的值给了那个字段, 所以我以为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行这个脚本。
针对这个情况还有没有其他办法解决请告诉我。
作者: love_yebin    时间: 2009-10-19 12:39
里面选择人是只点一下的, 选择好后,确定,关闭对话框
我修改了下,你试试
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
作者: 杨超    时间: 2009-10-19 14:21
可能是因为到第13步的时候弹出窗口了,导致qtp无法识别,建议第13步使用低级录制,根据坐标固定输入框输入尝试下看,应该是不会报错的。




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