51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

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

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

[复制链接]

该用户从未签到

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

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

回复 3# 的帖子

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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

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

使用道具 举报

该用户从未签到

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
就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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

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

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

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

    使用道具 举报

    该用户从未签到

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

    回复 9# 的帖子

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

    使用道具 举报

    该用户从未签到

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

    回复 10# 的帖子

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

    使用道具 举报

    该用户从未签到

    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,统一进行记录处理
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    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都有对应的一个文件 ...


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

    使用道具 举报

    该用户从未签到

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

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

    回复 支持 反对

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

    使用道具 举报

    该用户从未签到

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

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

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

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

    使用道具 举报

    该用户从未签到

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

    回复 19# 的帖子

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-19 05:04 , Processed in 0.082449 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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