51Testing软件测试论坛

标题: QTP脚本维护的方法 [打印本页]

作者: higkoo    时间: 2007-5-16 12:14
标题: QTP脚本维护的方法
项目过程中,我们往往会录制很多操作。
很多操作是一样的,我们可以设置为可重用脚本。
  操作很相似,但略有不同,我们可以给动作设置参数,或修改副本。
   遇到QTP无法识别或识别错误的,可以尝试低级录制或模拟录制。
    对于已知错误,我们可以做成虚拟对象抒以识别,记录到测试结果中。


我现在遇到一个很严峻的问题:
我录制了很多通用脚本,现在程序的标题改了
    JavaWindow("程序原名称") 改为 JavaWindow("程序现名称")

脚本全部运行失败,因为对象库里根本就没有JavaWindow("程序现名称")。

而且其它对象都是基于JavaWindow("程序原名称")的,窗体的识别是靠它的title属性。
于是我用

                JavaWindow("程序现名称").SetTOProperty "title","程序原名称"

脚本还是运行失败

如果要修改对象库里的属性,那可是个大工程啊!sdlkfj4

     有没好的解决方案?sdlkfj7

作者: 风过无息    时间: 2007-5-16 12:23
用描述性编程能解决.
作者: higkoo    时间: 2007-5-16 12:45
原帖由 风过无息 于 2007-5-16 12:23 发表
用描述性编程能解决.



风过无息  


能说详细一点吧,譬如说举个很简单的例子。

  描述性编程我没有做过,只是知道有这回事而已。
作者: higkoo    时间: 2007-5-16 12:56
标题: 问题已解决
使用

JavaWindow("程序原名称").SetTOProperty "title","程序现名称"

即可   sdlkfj6   如此简单。   

             哈哈……
作者: hajiwon    时间: 2007-11-29 10:57
JavaWindow("name:="&WindowName&".*")
name 是JavaWindow 的一个属性
WindowName 是window 的名字
作者: jifeng    时间: 2007-11-29 12:07
一个字,解决大问题
作者: leo_hu_100    时间: 2008-1-13 12:24
标题: Leo
JavaWindow("程序现名称").SetTOProperty "title","程序原名称"51Testing软件测试网{Y!b9M!@
这句话好像只能使当前运行的Action里对应的属性发生更改,不能彻底的解决问题;

我做的项目中都是使用的Shared Object Repository来储存对象的,所以万一某个对象属性发生变化,只需要在Repository中更改此属性,则所有使用这个对象库的脚本全部会自动更新。
作者: leo_hu_100    时间: 2008-1-13 12:27
个人推荐优先使用共享对象库,然后是描述性编程(描述性编程不是万能的)。
作者: xiaoyaoke    时间: 2008-1-13 15:35
同意楼上的办法,建议楼主使用共享对象库,不知道楼主的QTP版本,在QTP9.2中使用共享对象库非常简单,而且的确能给脚本维护工作带来方便




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