51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4861|回复: 16
打印 上一主题 下一主题

[讨论] 今天柯莱特问了我两个关于QTP的问题。请大家帮我看看

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-4-17 14:50:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1,怎样来增加脚本的灵活性?
  
我的回答是:
1,把功能相近的放在一个ACTION        里面。减少每个ACTION的代码量。
2,使用场景恢复功能。
3,参数化脚本。
4,注释脚本。
5,使用VB来做脚本控制。

2,如果对象不能识别,有哪些方法可以处理?
我就回答了一条: 新建虚拟对象
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-4-17 15:58:38 | 只看该作者
说到脚本的灵活性,我觉的首先得明确“灵活性”的标准,在我的工作中,脚本的灵活性就指它的可扩展性和对数据文件的支持程度,因此需要从以下方面着手:1、将可重用的操作抽象出来,封装成方法,这样通过传递不同的操作我们就可以完成不同的软件行为;2、将测试脚本与测试数据文件分离开来,这样一个脚本就可以驱动不同的测试数据进行测试;3、在对象识别上,应该将对象识别的过程和对象的特征相分离。避免将所有的脚本都线性化的写到一起,这样的脚本基本上没有什么可维护性。
第二个问题,对象不能识别的原因很多,首先应该分析不能识别的原因再对症下药。通用的解决方法是自己编写HOOK,但是难度比较大,其实QTP和RFT的对象获取都是基于HOOK技术的,另外,QTP提供了不同的插件,可以根据软件的特征选择合适的插件。3、用测试对象的相对坐标;4、用屏幕的绝对坐标;5、采用测试工具提供的API接口,如RFT的find方法,QTP的描述性编程,自己动手实现对象的识别。虚拟对象的方法能不用就不用,因为使用了虚拟对象以后会使脚本变的脆弱,增加了维护的工作量
就先象到这么多了,楼下继续。
另外,柯莱特是什么,公司名?人名?其他?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-4-17 16:11:35 | 只看该作者

回复 2# 的帖子

自动化测试所用的hook感觉还是比较简单的
自己写hook,就是自己写个录制工具。它并不需要你自己去实现hook,而是用MS提供的hook函数来实现,所以难度相对比较低!

你知道QTP对网页操作封装的方法是DOM还是Accesssibility吗?

[ 本帖最后由 shanxi 于 2009-4-19 14:47 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-4-17 16:19:41 | 只看该作者
请问dreamever,
3、在对象识别上,应该将对象识别的过程和对象的特征相分离。避免将所有的脚本都线性化的写到一起,这样的脚本基本上没有什么可维护性。
这点怎么理解,能否说的详细些
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-4-17 16:23:11 | 只看该作者

回复 4# 的帖子

就是对象数据跟操作对象的代码分离

呵呵,分离好维护。很老的概念了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-4-17 16:25:47 | 只看该作者
嗯,这个。。。。。。
还是不明白
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-4-17 16:30:55 | 只看该作者

回复 6# 的帖子

clickonwindow(readfile(a.xml,btna));
a.xml数据,btna为a.xml中一项取其值
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-7-4 15:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2009-4-17 16:32:59 | 只看该作者
    原帖由 dreamever 于 2009-4-17 15:58 发表
    说到脚本的灵活性,我觉的首先得明确“灵活性”的标准,在我的工作中,脚本的灵活性就指它的可扩展性和对数据文件的支持程度,因此需要从以下方面着手:1、将可重用的操作抽象出来,封装成方法,这样通过传递不同的操 ...

    很全面了。掌握了这些基本够用了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2009-4-17 16:34:37 | 只看该作者

    是去HP的外包。。。。

    其他我也不清楚啊。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-4-17 16:35:15 | 只看该作者
    谢谢shanxi的耐心解答

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2009-4-17 16:40:47 | 只看该作者
    原帖由 bondsha 于 2009-4-17 16:34 发表
    其他我也不清楚啊。


    电面吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2009-4-17 17:03:51 | 只看该作者
    电话面试?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2009-4-18 00:14:11 | 只看该作者
    对的。。电话面试。。
    问了测试经验,项目经验,还有就是关于QTP的上面两个问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2009-4-28 15:46:37 | 只看该作者
    非常喜欢这样的面试问题!! 有深度。。。
    第一问:我觉得应该是数据和脚本分离的方法。
    第二问:对象不能识别,应该首先考虑有多少对象不能识别,如果太多,就要考虑是否要使用QTP。。 其次就是使用虚拟对象,描述性编程解决,反复调试。。。
    一家之言,见笑啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2009-4-28 16:24:00 | 只看该作者

    回复 1# 的帖子

    其实这个虚拟对象在实际运用中很不好用的,还是用描述性编程比较实用一些
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2009-4-28 16:43:53 | 只看该作者
    第一个问题的答案补充:
    1:增加对脚本的规范,提示脚本的可移植性,和让脚本尽量执行多个IE版本,和QTP版本。
    2:增加在框架中的错误识别的能力和恢复能力。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2009-4-30 21:22:57 | 只看该作者
    学习  标准化,组件化,松耦合
    不能识别的话,借用外部手段和qtp结合搞定它
    编程能力很重要哦
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-14 08:32 , Processed in 0.081103 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表