51Testing软件测试论坛

标题: 请教:QTP是否录制不了使用回车键查询的功能? [打印本页]

作者: 晶晶    时间: 2006-1-26 10:52
标题: 请教:QTP是否录制不了使用回车键查询的功能?
如图示:须先输入证号,按enter 后显示人员信息,然后才能录入其它操作。
但回放后出错,无法查询到人员信息。
请问如何解决呢?

[ 本帖最后由 晶晶 于 2006-1-26 11:03 编辑 ]
作者: 每天喝水    时间: 2006-1-26 12:41
你的问题描述不清!
首先,回车是可以被录制的。
其次,从截图上看,登陆界面应该有几个必填项目,不知道你是否都填写了。
最后,WEB的反应时间不是立即的。可能是由于延时所引起的。加上个等待函数或其它的什么应该就可以了。

要是再不行,那就靠运气吧。
作者: lovetest6    时间: 2006-1-27 20:04
加wait应该可以解决你的问题
wait(5)
作者: 晶晶    时间: 2006-2-4 09:33
加了等待函数还是不起作用
作者: yangkinki    时间: 2006-2-4 11:37
你在weblist中增加的项目是否是d1003,如果这个项目是动态的,可能会识别不了,最好是能提供出你录制的脚本,方便各位给你提供详细的帮助
作者: 晶晶    时间: 2006-2-4 12:05
Browser("系统登录").Page("系统登录").Image("space").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("left").Image("menu_02").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("left").Link("补偿管理").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Set "d1003"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Submit
wait(10)
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("personoid").Select "d1003"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("typeoid").Select "1|门诊"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("typeoid").Select "2|普通门诊"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("typeoid").Select "3|体格检查"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("typeoid").Select "4|预防接种"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("typeoid").Select "5|门诊特殊疾病补偿"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("typeoid").Select "6|其他"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("typeoid").Select "7|住院"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("hospitalEdit").Set "001|乡镇卫生院"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("amount").Set "5000"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("invoiceNo").Set "1004"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("invoiceNo").Submit
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("typeoid").Submit
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("personoid").Submit
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("amount").Submit
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("hospitalEdit").Submit
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("cdate").Set "20050203"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("diseaseTypeEdit").Set "A|传染病计"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("beginDate").Set "20050101"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("enddate").Set "20050206"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebButton("确 定").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "M|门诊"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "M001|挂号费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "M002|门诊检查费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "M003|门诊输液费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "M004|门诊诊疗费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "M005|门诊治疗费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "M009|门诊输血费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "M010|门诊其它费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "Z|住院"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "Z001|床位费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("treatmentFeeTypeList").Select "Z002|护理费"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebEdit("invoiceItemAmount").Set "5000"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebButton("确 定_2").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebButton("保 存").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_3").WebButton("计算金额").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_4").WebButton("确认补偿").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_5").WebButton("新 建").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Sync

运行到Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Submit
出错
作者: mstiunicon    时间: 2006-2-5 10:30
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Submit
你的系统中应该是使用了放大镜这样的技术。看看“医疗证号”的输入框附近,应该会有一个图标之类的,用鼠标点击这个图标,应该可以达到和点击回车键一样的效果。不能直接点回车键,只能回避。
作者: 晶晶    时间: 2006-2-5 12:09
没有,只能通过回车键来查询该“医疗证号”对应的人员信息
作者: mstiunicon    时间: 2006-2-5 15:06
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Set "d1003"
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Submit
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main_2").WebList("personoid").Select "d1003"

看上面的代码,同样的一个页面却出现了两个Frame--Frame("main")  Frame("main_2"),应该是中间有一个弹出页。
你试试看这样的操作:把医疗证号设这样两个编号:dl003,dl004,然后在输入框中输入dl00,直接点回车键,看会不会有一个弹出页,让你选择具体的编号。
作者: 晶晶    时间: 2006-2-6 15:15
由于我描述不清,以及把“医疗证号”和“人员”设成相同的名称,可能会引起大家的误解。

看以下图示应该就明白了
作者: 每天喝水    时间: 2006-2-6 18:06
标题: 在你那乱七八糟的要输入的代码后面在加一行:
Browser("系统登录").Page("系统登录").Image("space").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("left").Image("menu_02").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("left").Link("补偿管理").Click
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Set "d1003"

加行:
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Set micReturn

试试看吧。
作者: 晶晶    时间: 2006-2-7 09:11
这语句什么意思?

加了不管用啊,回放时WebEdit("ylzh")里的值变为<__MicReturn>
作者: kai_top    时间: 2006-2-7 09:49
可以参考以下解决方法:
关键是:焦点在什么状态下,点击Enter
把以下这句:
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Submit
替换成以下几句:

  1. Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").FireEvent("onfocus")
  2. set WshShell =CreateObject("WScript.Shell")
  3. WshShell.SendKeys "{ENTER}"
复制代码


----另外个人感觉,“只能用回车进行确定”很不妥当;程序应该再提供一个按钮;试想如果一台电脑上没有键盘只有鼠标,就不方便进行操作了;所以你应该建议程序开发人员,增加这个按钮

[ 本帖最后由 kai_top 于 2006-2-7 09:56 编辑 ]
作者: hongtang    时间: 2006-2-8 11:40
标题: 你增加一个键盘事件就行了!
增加一个ENTER事件 在Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").Set "d1003"
之后~

作者: 晶晶    时间: 2006-2-9 10:47
谢谢大家的帮助,问题解决了:)
作者: yesman    时间: 2007-3-13 14:25
楼主,请问你是什么解决的?
我现在碰到与你类似的问题,但是按论坛中提供的各种办法都无法解决,请赐教,谢谢啦~~
作者: yhzmw    时间: 2007-3-13 14:42
原帖由 晶晶 于 2006-2-9 10:47 发表
谢谢大家的帮助,问题解决了:)


这样的家伙,真的辜负了大家对你的帮助,你怎么解决的写出来啊。这样可以让更多的人受益!
作者: dlh2002    时间: 2007-3-14 10:26
sdlkfj2
作者: 19thangel    时间: 2007-3-14 15:31
sdlkfj8 一年前的帖子......
作者: rita.l    时间: 2007-3-15 09:20
郁闷,一年前的帖子都给翻出来了,又不给个答案sdlkfj9
作者: chbhaha    时间: 2007-3-20 17:00
狂晕
作者: 晶晶    时间: 2007-3-27 17:50
不好意思,我错了!

用回车键查询
Browser("系统登录").Page("贵阳市新型农村合作医疗信息管理系统").Frame("main").WebEdit("ylzh").FireEvent("onfocus")
set WshShell =CreateObject("WScript.Shell")
WshShell.SendKeys "{ENTER}"
作者: 晶晶    时间: 2007-3-27 17:54
我是按照 kai_top  朋友的方法
sdlkfj5 非常非常感谢
作者: walker1020    时间: 2007-3-28 09:01
谢谢 晶晶 的回复。别人帮助了你,你也帮助了别人。这样论坛才能健康发展呀。呵呵!
作者: Coffey111111    时间: 2007-4-1 21:27
晶晶还是很不错的,一年前的帖子,还以为会找不到人呢?居然真的出来了帮助大家了,谢谢晶晶,也学习晶晶~~sdlkfj3
作者: elwolf    时间: 2007-5-28 15:28
哈哈,我今天也遇到这个问题了,多谢  晶晶
作者: premiumdue    时间: 2007-5-29 15:08
标题: 回复 #1 晶晶 的帖子
学习中
作者: wish_luckyman    时间: 2007-6-22 17:22
learning
作者: testxxh    时间: 2007-6-23 11:08
标题: 支持
我觉得也是,自己解决问题之后,一定要将方法写出来;这样才能够真正得起到作用,使得其它人少走弯路。资源共享嘛,表扬晶晶,感谢
作者: xihong2004    时间: 2007-7-29 22:39
支持一下
作者: lecher    时间: 2007-9-4 11:34
国改革
作者: lecher    时间: 2007-9-4 11:34
个回归后
作者: abbybeach    时间: 2007-11-7 12:22
支持,我今天也遇到这个问题,刚好用得着
作者: wenfeng0187    时间: 2007-11-7 17:16
汗一个,原来这个帖子经历这么长的时间
作者: Frankway.lau    时间: 2007-11-13 17:52
支持一下
作者: ZH_0211    时间: 2007-12-20 14:00
谢谢,我也碰到了类似的问题
作者: dog487    时间: 2008-11-10 11:20
标题: 回复 36# 的帖子
我也刚好碰到了类似的问题。
谢谢kai_top和晶晶同学。


但照晶晶的办法,为什么不行呢?
找原因ing~~

[ 本帖最后由 dog487 于 2008-11-10 11:53 编辑 ]
作者: dog487    时间: 2008-11-10 14:13
标题: 回复 37# 的帖子
还没有回复?~~

[ 本帖最后由 dog487 于 2008-11-10 17:09 编辑 ]
作者: zh_51testing    时间: 2009-3-24 18:22
标题: 别忘了了FireEvent("onfocus")
谢谢,吃一堑长一智,这句话很重要:“焦点在什么状态下点击Enter”,所以先要用FireEvent("onfocus")方法触发获得焦点的事件。
作者: bigpig521    时间: 2009-10-29 18:47
很感谢前人的铺路,今天也遇到这个问题了,解决了,谢谢大家。代码如下:

'使用键盘回车加载信息
Browser("**系统_2").Page("**系统_2").Frame("I2_2").WebEdit("WebEdit").Set "22"
Browser("**系统_2").Page("**系统_2").Frame("I2_2").WebEdit("WebEdit").FireEvent("onfocus")
set wshShell =CreateObject("WScript.Shell")
wshShell.SendKeys "{ENTER}"
wait 5
作者: rocky2006_du    时间: 2012-11-6 09:12
受教了,也遇到同样的问题,感谢各位站友!




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