51Testing软件测试论坛

标题: QTP对象库重复问题 [打印本页]

作者: 1316016    时间: 2010-12-13 16:36
标题: QTP对象库重复问题
相信大家都遇到过这样的情况: 在多人并发开发脚本的时候,添加的对象库文件中,不可避免的会有对象的重复......重复的代价是对象库过于庞大,一旦代码中对象的属性变化,就需要到多分对象库中修改,维护成本高。

      现如今,我想减少重复的对象,并且当对象属性变化的时候,自动修改对象属性值。不知道大家在对象库这块有什么高见?
作者: dreamever    时间: 2010-12-13 17:15
如果想减少重复的测试对象,那么合并对象库就可以,我觉的对于QTP来说,维护对象库的主要工作应该是不断的合并对象库,而不是去修改不同对象库中的相同对象。
至于对象属性变化时自动修改相应的对象属性值,这倒是一个挺新颖的想法,但是我也没什么实现的思路。QTP好象没有提供类似自动更新的功能
作者: lantianwei    时间: 2010-12-13 17:19
并发开发是各自使用各自的对象库?
如果是,那么建议用共享对象库,但要规范操作,避免多人同时编辑等问题;还有一个办法是使用描述性编程,但最好用伪描述性,因为比较高效
作者: runnerhuang    时间: 2010-12-13 17:32
想真正的避免重复问题是不可能的,但可以通过一些方法来减少重复。比如:分工的时候尽量做到同一模块只由一个人负责,每个页面一个对象库文件,按模块功能来分别放置这些对象库文件。
作者: lantianwei    时间: 2010-12-13 17:38
回复 2# dreamever


    QTP是有自动更新对象的功能的, 但实际效果如何不大清除,没具体使用过~
作者: lantianwei    时间: 2010-12-13 17:44
回复 1# 1316016


    全部自动更新应该是比较难的,但你更新一个对象库相应的对象也进行更新是可能的,也就是说你只需要更新一个对象库就可以了。思路很简单,自己写个工具导入一个对象库,修改变更的对象并使程序进行标记修改的对象,然后导入其他的对象库文件,使程序根据你之前修改的对象库去匹配并修改当前对象库(根据程序做的标记),从而达到改一个对象库就可更新其他的对象库的功能。该办法实用性不知如何,但起码可以减轻点你的工作量~
作者: 1316016    时间: 2010-12-13 17:59
谢谢各位的回复。

对于对象库的合并,在脚本中,我们是动态调用指定的tsr文件,如果总是合并的化,还需要变更脚本。而且,如果对象库过于大,对于维护的成本是否很高,在检索对象时是否会慢?

对于自动更新这块,我们公司的开发代码,会将所有对象的属性存在一张表中(包括静态DB中的,jsp动态生成的),我们可以获取这张表,然后写一个比对的工具,就可以做到了.

对于消除重复对象这一块,我们可以通过人工找到重复的对象,但是消除/合并的,会涉及到脚本的修改,成本很高很高的,初步想再新建一张表,用于存储重复的关系,如果后续有哪个对象变了,直接修改一个就好了。
作者: 1316016    时间: 2010-12-13 18:06
并发开发是各自使用各自的对象库?
如果是,那么建议用共享对象库,但要规范操作,避免多人同时编辑等问题 ...
lantianwei 发表于 2010-12-13 17:19



     我们用的就是共享对象库,操作规范,或者按照页面/模块分对象库,这些我们之前都考虑过,但是还是会有重复。一旦上传SVN失败,文件的比对也是个问题。
   
    而且,后续新人编写新代码的时候,他/她也没有太多的时间去看原有的对象库文件,多半也是自己新写,这样重复的就更多了
作者: dreamever    时间: 2010-12-13 19:35
回复 6# lantianwei
这种做法其实是把以前winrunner 的自动学习功能重新实现了一遍,初步感觉工作量会不小。。
作者: xiaozhai    时间: 2010-12-14 09:50
能否在做一个项目前将所有用到的对象按照模块全部添加到对象库中呢,这样即使后面添加,重复性也就变小了
作者: 1316016    时间: 2010-12-14 10:33
能否在做一个项目前将所有用到的对象按照模块全部添加到对象库中呢,这样即使后面添加,重复性也就变小了
xiaozhai 发表于 2010-12-14 09:50



    这样不太现实,而且后续开发的时候,查找对象也会很费时。
作者: 1316016    时间: 2010-12-16 18:06
111
作者: sophiashan07    时间: 2010-12-17 14:01
我公司2010年6月份刚在纳斯达克上市,现在要找一名自动化测试组长,薪资福利良好:

我们项目组需要招聘自动化测试组组长,职位信息如下:
1.计算机相关专业本科以上学历,熟悉软件工程师学原理;
2.软件测试相关经验3年以上,其中至少包括2年功能自动化测试经验;
3.熟悉QTP工具的使用,了解QTP原理和对象识别机制;
4.熟悉VBScript脚本语言,能进行相关自动化脚本函数的编写;
5.较强的语言表达和文档编写能力及良好的沟通技巧;
6.有金融银行基础业务知识经验、有网银业务经验为佳;
7.有自动化框架编写、设计经验和软件开发经验有团队管理经验为佳;
8.熟悉Java、J2EE 、WebSphere 、Application Serve、DB2、Oracle等为佳
9.有Unix平台的使用经验(AIX/Solaris/HPUX/Linux)为佳;
欢迎回复,谢谢:
shanjing1983@163.com
sophiashan07@hotmail.com
作者: 1316016    时间: 2010-12-30 13:58
对象库的操作, 大家都很顺利吗?
作者: xieyang702    时间: 2010-12-30 15:31
恩,我也一直很头疼这个问题




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