51Testing软件测试论坛

标题: 请问yabest,你的对象库是怎么录制的。 [打印本页]

作者: jackymail    时间: 2007-7-25 12:06
标题: 请问yabest,你的对象库是怎么录制的。
我看到你说除了主控模块,其余的都写成vbs放到函数库里面给大家共享使用。

你全部用的描述性编程?根本没有使用对象库?

你把所有的对象全部录制下来了?

你们之间所有人都在共享一个对象库?

到底有多少脚本共享了?

还有主控模块你一般都写点什么东西?

感谢回答~
作者: yabest    时间: 2007-7-25 14:37
原帖由 jackymail 于 2007-7-25 12:06 发表
我看到你说除了主控模块,其余的都写成vbs放到函数库里面给大家共享使用。

你全部用的描述性编程?根本没有使用对象库?

你把所有的对象全部录制下来了?

你们之间所有人都在共享一个对象库?

到底 ...



>>你全部用的描述性编程?根本没有使用对象库?
  我是反对使用描述性编程的!
  对象库是QTP的精华!好好的对象库不用,把对象描述写在每行脚本里面,只会把脚本弄得乱糟糟很难看,
  而且把对象描述分散在各行脚本里,不利于统一管理,也很难维护!哪个对象变化了,在成千上万行脚本里怎么找怎么修改啊!!
  所以,尽量少用描述行编程,只有必要的时候,如遇到动态对象,才用描述性编程!

>>你把所有的对象全部录制下来了?
  不用,需要的对象才录入对象库,尽量保持对象库的简洁!
  
>>你们之间所有人都在共享一个对象库?
  每个系统每个版本对应一个对象库文件,如 NMS_1.0.tsr。2.0版本来了,就把NMS_1.0.tsr复制为NMS_2.0.tsr然后进行更新。
  这样保证被测系统和对象库文件的一一对应,然后大家都统一使用相应的对象库文件,写出来的脚本也能共用。
  要是各人用各自的对象库,写出来的脚本只能用自己的对象库,那大家的脚本就不能共用和共享了。

>>到底有多少脚本共享了?
  大部分的脚本都是共享的!我们脚本都是写成函数,函数分层,大家可以随意调用和共享。

>>还有主控模块你一般都写点什么东西?
  QTP主控模块主要负责初始化QTP运行环境、控制Case的运行、提供参数输入、保存运行结果、保存运行日志和错误保护等功能。
  QTP主控模块提供一个Excel文件,用户在里面指定要运行的Case、Case参数、使用的对象库文件、要加载的函数库文件。
  初始化QTP运行环境主要是加载函数库和对象库。
  保存运行结果也是将结果写入一个Excel文件里。

[ 本帖最后由 yabest 于 2007-7-25 14:38 编辑 ]
作者: jackymail    时间: 2007-7-25 15:27
标题: 很牛x啊
真想共享工程文件看看。。感谢答复
作者: wuyuzimu    时间: 2007-7-25 16:37
学习了sdlkfj3
作者: zhuyuancan    时间: 2007-12-18 17:08
追问:设置了一个共享对象库,
1.里面有对象上千个,这对日后脚本的运行会有嘛问题没?
2.虽然设置了一个共享对象库,但是录制过程中还是会产生如browser(**_2)等的新对象!!
作者: yabest    时间: 2007-12-18 17:47
原帖由 zhuyuancan 于 2007-12-18 17:08 发表
追问:设置了一个共享对象库,
1.里面有对象上千个,这对日后脚本的运行会有嘛问题没?
2.虽然设置了一个共享对象库,但是录制过程中还是会产生如browser(**_2)等的新对象!!


>> 1.里面有对象上千个,这对日后脚本的运行会有嘛问题没?
几千个对象,对计算机来说,是个很小儿科的的东西,你没看人家数据库都是上百万条记录的呢!
而且将对象描述集中放在对象库里统一维护,总比你将对象描述分散在几万行脚本里维护的好吧?
数据越多,就越要统一维护,越要保持简洁。

>>2.虽然设置了一个共享对象库,但是录制过程中还是会产生如browser(**_2)等的新对象!! [/quote]
browser是窗口了,你是不是有多个IE窗口打开着,或者browser(**_1)和browser(**_2)的属性不一样啊?
检查一下对象库里两个browser对象属性的差别。

你看得那帖子,人家讲的是Page/Frame对象的问题,跟你browser对象是不一样的问题。
作者: zhuyuancan    时间: 2007-12-18 18:45
还有一个问题??在8.2版本是QTP可以将一个共享对象库设置为默认对象库,好象9.2的没有这个相关的设置!!!!得自己写代码加载吗?
作者: hsjzfling    时间: 2007-12-18 20:54
标题: 回复 7# 的帖子
是的。。。不过代码帮助中都有现成的,稍微改改就可以作为自己的函数随意调用了
作者: ZH_0211    时间: 2007-12-19 11:08
标题: 回复 6# 的帖子
也就是说,如果Browser的对象属性一致的话,就不会出现那种“Browser_编号”的情况是吗?那是不是以此类推,Page和Frame也是一样的?
作者: hsjzfling    时间: 2007-12-19 12:03
原帖由 ZH_0211 于 2007-12-19 11:08 发表
也就是说,如果Browser的对象属性一致的话,就不会出现那种“Browser_编号”的情况是吗?那是不是以此类推,Page和Frame也是一样的?


推论不成立,鉴定完毕~~
作者: yabest    时间: 2007-12-19 12:14
原帖由 ZH_0211 于 2007-12-19 11:08 发表
也就是说,如果Browser的对象属性一致的话,就不会出现那种“Browser_编号”的情况是吗?那是不是以此类推,Page和Frame也是一样的?


Page和Frame比较特殊,QTP有专门提供另外的Option来控制
作者: zhuyuancan    时间: 2007-12-19 12:38
在添加共享对象库后,录制时又产生新的对象!!!
对象库中保存了两个页面中的所有对象:产品添加和用户登陆。
在对产品添加进行录制时,尽然又在用户登陆下建立了产品添加页面下的对象??脚本变成了:
browser().page("产品添加")..........而预期的应该是:browser().page("用户登陆")......
,,,试了同事的几台机子都是这样!!! 可以确定产品添加下有相应对象
作者: zhuyuancan    时间: 2007-12-20 09:54
使用共享对象库,每次保存一个脚本时,共享对象库也随脚本一起保存,是不是显得有点浪费空间了!!!
作者: yabest    时间: 2007-12-20 11:58
原帖由 zhuyuancan 于 2007-12-20 09:54 发表
使用共享对象库,每次保存一个脚本时,共享对象库也随脚本一起保存,是不是显得有点浪费空间了!!!


用一个共享对象库比用多个Action对象库少占空间,因为多个Action对象库会有对象重复!

再说了,一个对象库就几M而已,这点空间对几百G的硬盘来说,完全可以忽略不计!




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