谁能帮我解决QTP的这个错误啊?
希望高手帮我看看啊,这到底是什么原因,什么错误。。。。解决了一定加分啊!!!灌水的就别进啦,谢谢!...
希望高手帮我看看啊,这到底是什么原因,什么错误。。。。解决了一定加分啊!!!灌水的就别进啦,谢谢!
展开
2013-06-22
展开全部
你这个错误看不清楚!~
QTP常见运行错误问题解答
不能识别对象(Cannot identify object)
出现了这个错误时,就表示当前被测程序的窗口中没有符合条件的对象。
出现这种错误,可能的原因有以下两种:
>>> 对象此时在程序中没有显示或不存在。
>>> 在程序中存在该对象,但是它的描述在后来发生了改变,导致与对象仓库中存储的信息不匹配,从而QTP无法识别对象。
如果你正遇到“Cannot identify object”的问题,解决方法见1.1。
1.1 如何去识别对象描述(Identifying Test Object Description Problems)
如果你能在被测程序中看到对象,但仍出现了“Cannot Identify Object”错误信息,这就表示仓库中对象的描述与程序中对象的描述一定存在着差异。
解决对象描述问题的第一步是找到差异,最简单的方法是将仓库中对象的属性值与程序中对象的属性值进行比较。(仓库中对象的属性值可在Object Repository窗口中查看,程序中对象的属性值可用Object Spy功能查看。)
比较仓库中对象的属性值与程序中对象的属性值的操作见1.3。
在完成比较后,是否发现存在差异?如果是,请参考1.4;如果否,请参考1.5。
1.2 处理对象丢失问题(Solving Missing Object Problems)
在运行脚本时,QTP尝试进行某种操作,而该操作的对象在程序中却没有出现,出现这种情况的原因有以下几种:
>>> 对象不再存在。对象已经被从程序中删除。解决方法:见1.2.1。
>>> 对象还没有装载。解决方法:见1.2.2。
>>>当前的程序页面(或窗口)不正确,不是对象所在的页面(或窗口)。
解决方法:见1.2.3。>>>前一个步骤没有正确执行。解决方法:见1.2.3。
1.2.1 解决对象不再存在的问题
如果对象已经不再在被测程序中存在,则应在脚本中修改或删除相关步骤。
1.2.2 解决对象装载超时的问题
如果对象丢失的原因是因为没有足够的时间装载,尝试以下解决方案:
a.对于Web对象,增加Browser Navigation Timeout(File>Setting>Web页签)时间。
b.在包括该对象的步骤前使用Wait语句,让QTP在执行该步骤之前等待一段时间。
1.2.3 检查前面步骤的执行情况
如果是因为打开了错误的页面(或窗口)导致对象丢失问题,或因为前一步骤执行措误导致对象丢失问题,则请按以下方法检查原因:
a. 如果怀疑在完成脚本后,被测程序又发生了改变,则检查对象的继承关系以及对象描述。参考1.1。
b. 如果怀疑脚本错误,则检查脚本的每一个步骤。你可能是遗失了某个步骤,也可能是使用了不正确的方法或参数
1.3 测试对象的属性值与Run-time对象的属性值的比较(Comparing Test Object and Run-Time Object Property Values)
根据以下的步骤比较测试对象与Run-time对象的属性值:
1) 进入Obecjt Repository窗口(Resources>Object Repository),选择对象。
2) 用笔记下对象的class以及它的各个属性及属性值。
3) 打开被测程序,并打开包含被测对象的页面或窗口。
4) 在QTP中选择菜单Tools>Object Spy或点击Object Spy按钮,打开Object Spy对话框。
5) 选择“Test Object Properties”选项。
6) 点击右上角的按钮(带有手图标的),这时QTP窗口以及Object Spy对话框都被最小化。
7) 在程序页面(或窗口)中点击目标对象,恢复Object Spy对话框,并在对话框中显示对象及其父对象(以树的形式显示),并在Properties页签中显示当前对象的属性及属性值。
8) 这时Object Spy对话框的Properties页签中显示Run-time对象的所有属性,在此查看对象的class,以及它的属性及属性值,并将它与第2步中记下的内容进行比较。
1.4 解决对象描述存在的问题(Solving Object Descrīption Problems)
如果发现仓库中对象的属性值与程序中对象的属性值存在不同,你应该判断这个不同是个别对象的问题,还是其它同类对象也存在相同的问题。
是所有(或多个)同类对象都存在问题吗?如果是,则参考1.6如果否,则参考1.7
QTP常见运行错误问题解答
不能识别对象(Cannot identify object)
出现了这个错误时,就表示当前被测程序的窗口中没有符合条件的对象。
出现这种错误,可能的原因有以下两种:
>>> 对象此时在程序中没有显示或不存在。
>>> 在程序中存在该对象,但是它的描述在后来发生了改变,导致与对象仓库中存储的信息不匹配,从而QTP无法识别对象。
如果你正遇到“Cannot identify object”的问题,解决方法见1.1。
1.1 如何去识别对象描述(Identifying Test Object Description Problems)
如果你能在被测程序中看到对象,但仍出现了“Cannot Identify Object”错误信息,这就表示仓库中对象的描述与程序中对象的描述一定存在着差异。
解决对象描述问题的第一步是找到差异,最简单的方法是将仓库中对象的属性值与程序中对象的属性值进行比较。(仓库中对象的属性值可在Object Repository窗口中查看,程序中对象的属性值可用Object Spy功能查看。)
比较仓库中对象的属性值与程序中对象的属性值的操作见1.3。
在完成比较后,是否发现存在差异?如果是,请参考1.4;如果否,请参考1.5。
1.2 处理对象丢失问题(Solving Missing Object Problems)
在运行脚本时,QTP尝试进行某种操作,而该操作的对象在程序中却没有出现,出现这种情况的原因有以下几种:
>>> 对象不再存在。对象已经被从程序中删除。解决方法:见1.2.1。
>>> 对象还没有装载。解决方法:见1.2.2。
>>>当前的程序页面(或窗口)不正确,不是对象所在的页面(或窗口)。
解决方法:见1.2.3。>>>前一个步骤没有正确执行。解决方法:见1.2.3。
1.2.1 解决对象不再存在的问题
如果对象已经不再在被测程序中存在,则应在脚本中修改或删除相关步骤。
1.2.2 解决对象装载超时的问题
如果对象丢失的原因是因为没有足够的时间装载,尝试以下解决方案:
a.对于Web对象,增加Browser Navigation Timeout(File>Setting>Web页签)时间。
b.在包括该对象的步骤前使用Wait语句,让QTP在执行该步骤之前等待一段时间。
1.2.3 检查前面步骤的执行情况
如果是因为打开了错误的页面(或窗口)导致对象丢失问题,或因为前一步骤执行措误导致对象丢失问题,则请按以下方法检查原因:
a. 如果怀疑在完成脚本后,被测程序又发生了改变,则检查对象的继承关系以及对象描述。参考1.1。
b. 如果怀疑脚本错误,则检查脚本的每一个步骤。你可能是遗失了某个步骤,也可能是使用了不正确的方法或参数
1.3 测试对象的属性值与Run-time对象的属性值的比较(Comparing Test Object and Run-Time Object Property Values)
根据以下的步骤比较测试对象与Run-time对象的属性值:
1) 进入Obecjt Repository窗口(Resources>Object Repository),选择对象。
2) 用笔记下对象的class以及它的各个属性及属性值。
3) 打开被测程序,并打开包含被测对象的页面或窗口。
4) 在QTP中选择菜单Tools>Object Spy或点击Object Spy按钮,打开Object Spy对话框。
5) 选择“Test Object Properties”选项。
6) 点击右上角的按钮(带有手图标的),这时QTP窗口以及Object Spy对话框都被最小化。
7) 在程序页面(或窗口)中点击目标对象,恢复Object Spy对话框,并在对话框中显示对象及其父对象(以树的形式显示),并在Properties页签中显示当前对象的属性及属性值。
8) 这时Object Spy对话框的Properties页签中显示Run-time对象的所有属性,在此查看对象的class,以及它的属性及属性值,并将它与第2步中记下的内容进行比较。
1.4 解决对象描述存在的问题(Solving Object Descrīption Problems)
如果发现仓库中对象的属性值与程序中对象的属性值存在不同,你应该判断这个不同是个别对象的问题,还是其它同类对象也存在相同的问题。
是所有(或多个)同类对象都存在问题吗?如果是,则参考1.6如果否,则参考1.7
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询