51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4087|回复: 19
打印 上一主题 下一主题

[原创] 同时开发自动化脚本的实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-17 18:01:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
现在有一个项目需要编写比较多的自动化脚本,因此想把脚本拆分成多个action后,分给不同的人来编写。但经过试验,发现在改变action里的脚本时,测试目录下的几个公共文件也会改变(如,Parameters.mtr和Test.tsp等),且其中还有二进制文件,这样就没法实现合并,那就没法同时编写脚本了。

请问大家有什么方法实现同时编写脚本没?谢谢了!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

20#
发表于 2008-9-20 14:16:59 | 只看该作者

回复 19# 的帖子

要是没有涉及到action的变更,直接合并脚本文件就没有问题
如果有action的添加、删除、外部调用,就不行了,有二进制文件,没办法合并的
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2008-9-19 19:32:40 | 只看该作者
呵呵。由于这几天不在公司,今天回来才发现回了这么多。谢谢大家的支持。呵呵。

本人也认为用function会好一点,但现在主要是要让一些很初级的人员来使用,因此就想尽量用QTP工具来实现。
Action下的script.mts是可以合并,但不清楚这样合并,而测试目录下的公共文件不进行合并,在运行测试时是否会出问题呢。看来还得试验一下。呵呵。

就是不明白,怎么只修改action中的脚本,而公共的文件却为什么也要改变呢。难道hp就为了不让并行开发?

[ 本帖最后由 chenyb85 于 2008-9-19 19:34 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2008-9-19 15:59:16 | 只看该作者
谢谢你们啦!哈哈。。。。讲解的很透彻啊!今后遇到不懂的再请教了,呵呵。function果然是个好东东。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2008-9-19 15:56:27 | 只看该作者
周末回家咯,呵呵,等国庆以后回来抽空整理个设计测试框架的文档出来,希望对需要的朋友能有所帮助
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-9-19 15:33:29 | 只看该作者
zte_boy确实勤快
呵呵  让我们也受益匪浅

找个时间整理一下他们的资料(还有假装不在)

回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2008-9-19 15:03:53 | 只看该作者
原帖由 zte_boy 于 2008-9-19 15:00 发表
Actions只能接受有限的数据类型作为参数(string、integer等)。
Function可以接受array、dictionary object和test object(Page、Frame、WebRadioGroup等)。
2、资源使用:
对于每一个Action都有对应的一个文件 ...


摸摸兴哥,果然很勤快~
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-9-19 15:00:04 | 只看该作者
Actions只能接受有限的数据类型作为参数(string、integer等)。
Function可以接受array、dictionary object和test object(Page、Frame、WebRadioGroup等)。
2、资源使用:
对于每一个Action都有对应的一个文件目录、三个vbs文件、一个local Object Repository、一个包含截图的子目录、一个Excel表,另外加载的时间也相对长一点。
而Function只包含代码,没有其它的东西。
3、API
不能用QTP的API来访问和调用Action,只能在界面上添加引用。
而对于Function,则可利用QTP的API来把Function加到测试脚本中。
4、返回值
Action的返回值在语法上很难理解、可读性差。
而Function的返回值就像普通的编程语言一样的返回值
5、错误处理
action运行中的错误无法传递到主控制action,无法集中统一处理error
而function则可以讲错误统一返回主控action,统一进行记录处理
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-9-19 14:55:45 | 只看该作者

回复 10# 的帖子

痛过一次就知道了
Action调用要设置可复用才能被不同的Action使用,而要使用Action必须call一次
qtp又没有api可以将这个自动完成
另外当你的Action调用的外部Action很多的时候,加载速度也会变慢,因为要遍历所有脚本
还有datatable的问题……总之各种问题纷至沓来是解不胜解啊
而用function实际上就是一个个函数了,一堆function放在一个vbs里,添加到脚本里可以用qtp的api去做
调用只要execute就可以了
解决了数据的问题以后,function应用就会很方便的
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-9-19 14:50:39 | 只看该作者

回复 9# 的帖子

谢啦,要是能再给朵花就更好啦
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    11#
    发表于 2008-9-19 14:40:54 | 只看该作者
    使用FUNCTION 是个不错的建议,可以把FUNCTION放到QC服务器,然后在setting中引用就可以
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-9-19 12:36:18 | 只看该作者
    另外三楼的风流说:
    建议用function格式来组织脚本,否则后期你会发现用action会有很多问题,呵呵

    这个一般用function格式来组织脚本有哪些优越点呢??你们用过的这种方式的有什么体会?能不能简要的谈谈哦,呵呵。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-9-19 12:29:53 | 只看该作者
    谢谢rcpp啊,呵呵。。经常看见你回复的帖子哦,都不错的说~!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-9-19 11:32:52 | 只看该作者

    回复 7# 的帖子

    很简单,就定义function或者sub作为用例,把action里的脚本拷贝作为函数体就行了
    比如你action中的脚本是:
    Browser("51").Page("51").Link("qtp").Click
    Browser("qtp").Page("qtp").Link("reply").Click
    Browser("qtp").Close
    添加一个用例库文件TestCase51.vbs
    定义一个sub名为TestCase51No9527
    Sub TestCase51No9527()
    Browser("51").Page("51").Link("qtp").Click
    Browser("qtp").Page("qtp").Link("reply").Click
    Browser("qtp").Close
    End Sub
    调用的主action只要用
    TestCase51No9527
    就可以了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-9-19 11:15:24 | 只看该作者
    6L,最好先整合一个公共对像库,大家都在一个对像库上,使用function的形式
    或者都使用描述性编辑
    要注意编辑规范

    关键是如何用function的形式来引用公共对像库里面的对象??这个我没有做过,能详细的讲讲吗???
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-9-18 14:23:44 | 只看该作者
    最好先整合一个公共对像库,大家都在一个对像库上,使用function的形式
    或者都使用描述性编辑
    要注意编辑规范
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-9-18 14:11:52 | 只看该作者

    回复 3# 的帖子

    3L能说说用function格式来组织脚本,具体去怎么实现的么??比如对于每个action的对象库该如何去处理?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2008-9-18 11:27:37 | 只看该作者
    ls莫非跟我一样痛过?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-9-18 11:20:16 | 只看该作者
    建议用function格式来组织脚本,否则后期你会发现用action会有很多问题,呵呵
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2008-9-18 11:03:32 | 只看该作者
    合并对象库,一起提交
    脚本文件(就是Action下的script.mts)可以做文本合并
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 21:22 , Processed in 0.080805 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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