51Testing软件测试论坛

标题: 有一个步骤QTP录制不了. [打印本页]

作者: Joan2005    时间: 2006-9-30 11:32
标题: 有一个步骤QTP录制不了.
我在录制过程中,把添加的数据(类别,标题)参数化后,脚本运行成功.但有一点疑问,在运行到提交时,提示"请填写内容".我内容是已经填写过的.,后来查询数据库发现没有新添加的记录.然后执行单步调试.发现添加类别和标题都能录制,到添加的内容时就录制不上了.大家有没有遇到这种情况?是什么原因呢?倥件的问题?后来我录制用雅虎信箱写信的过程,信件内容同样录制不上.

[ 本帖最后由 Joan2005 于 2006-9-30 11:34 编辑 ]
作者: lyscser    时间: 2006-9-30 12:21
录不上就写
作者: QA_BAY    时间: 2006-9-30 16:44
可以的.你的脚本是什么.
用SPY看一下可以侦查吗?
作者: qrz2000    时间: 2006-9-30 17:28
我觉得可能不支持那编辑控件.
我原先也碰到过,在脚本中使用type函数输入吧.
作者: xiaonan    时间: 2006-10-2 21:41
看看你那个是什么控件,可能QTP没有识别,试试虚拟控件
作者: Joan2005    时间: 2006-10-9 10:01
脚本如下:红色部分是用object spy识别的对象后的属性.运行还是有错.自己写这段脚本的话该如何写呢?
Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("AdminUID").Set "admin"
Browser("网站后台管理系统").Page("网站后台管理系统").WebEdit("AdminPWD").SetSecure "451dd3398a47a82e2c5c"
Browser("网站后台管理系统").Page("网站后台管理系统").WebButton("登 录").Click
Browser("网站后台管理系统").Page("xx网络WEB后台管理系统").Frame("leftmenu").Link("文章管理").Click
Browser("网站后台管理系统").Page("xx网络WEB后台管理系统").Frame("leftmenu").Link("文章增加").Click
Browser("网站后台管理系统").Page("xx网络WEB后台管理系统").Frame("right").WebList("class").Select "公司新闻"
Browser("网站后台管理系统").Page("xx网络WEB后台管理系统").Frame("right").WebEdit("title").Set "GONCOMPAN1"
webElement("intertext:=sdfgsdf")
Browser("网站后台管理系统").Page("xx网络WEB后台管理系统").Frame("right").WebButton("提交").Click
Browser("网站后台管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click

下图是object spy识别后的属性窗体.

[ 本帖最后由 Joan2005 于 2006-10-11 21:21 编辑 ]
作者: Joan2005    时间: 2006-10-11 09:54
已经解决!(下边录制的是呀户信箱写信过程)
如图在没有识别的控件单击右键,view/add object--->Ok--->add to object repository(如果对象库中有该对象则显示view object repository).
然后在没有录制上那一步加上语句,
browser("雅虎免费邮箱").Page("Yahoo!电邮 - yihongwp@yahoo.com._2").Frame("Frame").WebElement("WebElement").Object.innerText="gjk"
就OK了。
不知道这是什么方法.

然后我利用虚拟对象,该如何实现呢.步骤
1.先添加虚拟对象tools--virtual object---new virtual object.利用wizard完成(选择check box class).
(打开一个新的测试,先添加虚拟对象,然后到对象库中,仍然为空,并没有该对象)
2.重新录制
3.在没有录制上那一步上添加语句
  (我添加的不正确,不帖了)
  我再试一试.

[ 本帖最后由 Joan2005 于 2006-10-11 12:57 编辑 ]
作者: wangpai555    时间: 2006-10-11 15:01
插件不能识别吧。
作者: QA_BAY    时间: 2006-10-11 15:34
原帖由 Joan2005 于 2006-10-11 09:54 发表
已经解决!(下边录制的是呀户信箱写信过程)
如图在没有识别的控件单击右键,view/add object--->Ok--->add to object repository(如果对象库中有该对象则显示view object repository).
然后在没有录制上那一 ...

browser("雅虎免费邮箱").Page("Yahoo!电邮 - yihongwp@yahoo.com._2").Frame("Frame").WebElement("WebElement").Object.innerText="gjk"

不知道这是什么方法.
--JS语言,你可以在网上找一下!

[ 本帖最后由 QA_BAY 于 2006-10-11 15:40 编辑 ]
作者: 我要做SQAD    时间: 2006-10-11 16:33
虚拟对象好像是根据坐标来确定控件的万一坐标不对了,那应该就不能识别了吧。那个控件应该是iframe控件,一般QTP是识别不出来的。我之前也用楼主方法灌过水。结果被封了帐号,哈哈。
作者: ghx    时间: 2007-1-17 11:21
谢谢Joan2005,按照你的方法解决了该问题。
作者: hiyizhiyu    时间: 2007-1-17 16:48
这种方法比较好
thanks for share
作者: kevin_swpi    时间: 2007-1-18 10:56
楼上的朋友
你们所谓的解决了是什么意思
我也遇到这样的问题了
虽然象这样的方法

browser("雅虎免费邮箱").Page("Yahoo!电邮 - yihongwp@yahoo.com._2").Frame("Frame").WebElement("WebElement").Object.innerText="gjk"

虽然运行到这一步查看时是  实现了写入
但是在点最后一步提交按钮后  仍然是不成功的(他提示你输入框不能为空)

为什么呢
作者: xueboy118    时间: 2007-1-18 11:12
这种类似的情况我也遇到,我碰到情况是,在页面的文本编辑框中输入值后,叶面的实际处理是,把个文本编辑框中的值,传递给页面的一个隐藏得控件,点击“提交”按钮,由隐藏的控件把值传给后台处理,实际在录制过程中,按照一般正常的录制流程是录制不到这一步骤地,但是可以解决的。
在录制的时候,如果录制到要在该文本框中输入值得时候,在作该动作之前,用alt+Tab切换到QTP,点击图标按钮“low level recording”,在切换到录制页面接着录制,录制完该操作步骤后,在切换回QTP,在点击一次图标按钮“low level recording”,进行正常的录制即可。
有的时候,使用这种方法,一次录制不成功,得多试几次,可能跟机器原因有关吧,呵呵
作者: kevin_swpi    时间: 2007-1-18 12:07
“low level recording"?
在那?
有什么作用呢
作者: gzj_06    时间: 2007-6-27 16:07
呵呵,今天用QTP小试牛刀,就碰到这个问题,到精华区一找,果然找到了解决办法,太感谢了!
作者: moonboy678    时间: 2008-1-23 13:14
终于试验成功了。。
作者: nikilee    时间: 2008-4-23 21:08
我是新手,来学习下.谢谢楼主分享
作者: qicyt1812    时间: 2008-6-17 22:16
这个问题我也遇到过,可能是因为控件无法识别造成的,解决方法没来得及试验,等电脑配置好一定好好试验一下
作者: lijian422202    时间: 2008-7-16 15:38
原帖由 kevin_swpi 于 2007-1-18 10:56 发表
楼上的朋友
你们所谓的解决了是什么意思
我也遇到这样的问题了
虽然象这样的方法

browser("雅虎免费邮箱").Page("Yahoo!电邮 - yihongwp@yahoo.com._2").Frame("Frame").WebElement("WebElement").Object.inne ...

这个问题解决了吗?你说的其实只是解决了text文本的写入,但没有把ID传到页面中,程序是根据ID来判断是否为空的。我现在也遇到这个问题了。
作者: tangxudim    时间: 2008-7-16 16:08
标题: 解决办法: 两种
1,QTP默认识别控件是识别控件的ID 你可以改识别方式为坐标识别方式。
  操作步骤1,在tools--->ObjectIdentification 中改其识别方式。

2,添加一个虚拟对象。 tools ----> virtiulObject 你试下看。
作者: shirleyrong    时间: 2008-8-19 11:46
为什么我照上面的步骤添加了虚拟对象之后还是不能解决我的错误啊!
我也不知道是不是QTP不能录制我的那个控件的问题!
录制回放时总是会报错!
“未知名称”运行错误:Line (5): "SwfWindow("同颉算量2.1.0.0").SwfTable("SwfTable").SelectCell 7,"PlanLocation"".
作者: duanying    时间: 2008-8-19 20:39
好例子,懂拉!!!!
作者: maomaochong010    时间: 2009-2-12 17:55
标题: 不行啊
我没有装siebel的插件,然后按照虚拟对象来识别控件,好像很不稳定,有的时候在一个action内可以识别,有的时候同一个action内都无法识别虚拟对象,为什么呀
作者: 206fuqi    时间: 2009-2-13 10:38
我哭了,困扰我一星期的问题终于解决了。
Browser("XX").Window("XX").Page("XX").WebElemenT("WebElement").Object.innerText="内容"
BrowserXX").Window("XX").Page("XX").WebEdit("ext-comp-1001").Object.innerText="内容"
不知道object.innertext=“内容”是什么方法,总之可以在在webelement控件下的webedit控件中成功输入数值。
作者: caiwj    时间: 2009-6-16 19:34
just for test
作者: caiwj    时间: 2009-6-16 19:46
just for test 2
作者: yq495    时间: 2009-9-29 13:55
同样的问题,等解决
作者: scarlett_yys    时间: 2010-5-13 14:56
我在录制鼠标右键,桌面刷新时,无法捕获,而且录入excel内容时,QTP也无法捕获,这是什么问题引起的
作者: 小帅--阿定    时间: 2011-6-22 11:44
我们的日期控件是这样的[attach]73681[/attach]
有两问题
一、我按7楼的方法加入对象之后,显示对象disabled,怎么解决呢?
二、对这种日期控件赋值的语句该怎么写?
求高手指点啊




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