51Testing软件测试论坛

标题: 关于qtp自动化模型的问题讨论 [打印本页]

作者: volvoo    时间: 2007-9-11 14:33
标题: 关于qtp自动化模型的问题讨论
qtp提供了丰富的自动化接口函数,最近研究了一下,很多功能没有包含在自动化接口函数中,使得通过vb vc高级语言操作qtp有的功能无法实现比如
1 如何获取该工程action的名字
2 如何实现 insert exsting action这个动作
找了半天也没有找到相应的自动化接口,大家遇到过则行的问题吗
作者: C060706    时间: 2007-9-11 15:56
你从事自动化测试多少年了?
本人也在用QTP
作者: yabest    时间: 2007-9-11 16:24
原帖由 volvoo 于 2007-9-11 14:33 发表
qtp提供了丰富的自动化接口函数,最近研究了一下,很多功能没有包含在自动化接口函数中,使得通过vb vc高级语言操作qtp有的功能无法实现比如
1 如何获取该工程action的名字
2 如何实现  ...


你想干嘛呀,这么多动作你都要自动化,那要不要把QTP脚本开发也自动化啊?
一运行,QTP脚本就自动生成了,并自动运行,多好! 这边就不会那么多人问那么多问题了。

[ 本帖最后由 yabest 于 2007-9-11 16:25 编辑 ]
作者: volvoo    时间: 2007-9-11 16:34
你都会抢答了,恭喜你,我是要把 脚本生成自动化,不过不是全部,仅仅是最顶层的脚本自动生成
,比如果 一个ACTION 叫login,我通过vb控制,让普通测试人员不需要直接接触qtp,通过ui控制 ,循环100次调用,每次调用通过vb传入不同的参数,普通测试人员都没有掌握qtp,很悲惨,他们没有时间学习qtp,尽管我培训了n次了,连基本的vbs脚本还不会写,比如打印一个参数值msgbox parameter("aaa"),这都是某某邮电大学研究生阿
我正在编写一个界面,QTP基础脚本已经编写完毕,通过ui普通测试人员直接点击鼠标就可以进行测试了,出发点如此简单
作者: volvoo    时间: 2007-9-11 16:41
标题: 最郁闷的问题
自动化接口getparameters返回的参数居然按照字母排序了
生成脚本的时候,我无法按照qtp参数定义的顺序输入参数,超级郁闷
怎么能够按照字母排序,多么低能的设计,对于第三方程序来说,如果要辅助qtp生成
vbs脚本,得到的参数却不是默认顺序,这样 runaction ** p1,p2,p3
输入实参就找不到坐标了,只能简单用qtApp.run rtParameters
不能生成vbs脚本了。
作者: yabest    时间: 2007-9-11 16:56
劝你别瞎费劲了,不掌握基本的QTP知识,就没办法使用自动化,更没办法开发自动化。
作者: shanxi    时间: 2007-9-11 16:58
所有的Windows UI自动化核心都是Hook技术

我会写文章来尽可能全面阐述这一技术。
作者: volvoo    时间: 2007-9-11 17:19
没办法,我推广了快1年了,依然没有人使用qtp来进行测试,因为他们掌握不了vbs,多么可悲,希望我们的测试人员不要混到这个地步,上面我已经通过其他方法绕过去了,不是排序马,我的变量定义就按字母排序就ok,必须按照照这个思路推广阿,苦啊,面对广大名牌毕业硕士测试人员,多么无奈,我已经基本可以生成脚本了,第一个版本限制潜套三层循环生成qtp脚本,对方的测试经理居然问了一个问题说,以后是不是就不需要人编写qtp脚本了,无语了,我做的是把普通脚本串起来组成业务流,没有水,还流个屁。
继续努力
作者: yabest    时间: 2007-9-11 17:37
搞自动化一头热是没用的,你费再大劲,结果很可能还是白瞎忙!
作者: volvoo    时间: 2007-9-11 17:56
还好,是可能,而不是绝对,我做事就是这个风格,有可能就有成功的希望
作者: volvoo    时间: 2007-9-11 21:54
等我的框架程序出来,发个帖字晒晒
作者: walker1020    时间: 2007-9-11 22:03
原帖由 volvoo 于 2007-9-11 14:33 发表
qtp提供了丰富的自动化接口函数,最近研究了一下,很多功能没有包含在自动化接口函数中,使得通过vb vc高级语言操作qtp有的功能无法实现比如
1 如何获取该工程action的名字
2 如何实现  ...


对于你说的第一个问题,你使用 Environment("ActionName") 试试。
作者: walker1020    时间: 2007-9-11 22:05
对于你说的第二个问题,好像只能手工操作去实现 Insert Existing Action。
作者: volvoo    时间: 2007-9-12 10:16
Environment("ActionName")  返回action工程的名字,一个工程里面可能会有多个ACTION,目前没有找到合适的方法阿
作者: yabest    时间: 2007-9-12 11:05
原帖由 volvoo 于 2007-9-12 10:16 发表
Environment("ActionName")  返回action工程的名字,一个工程里面可能会有多个ACTION,目前没有找到合适的方法阿


哎,土了吧,不要钻牛角尖,QTP不提供这个接口,你可以自己找嘛!
Test目录下有个.usr文件,里面就有Test的详细信息,可以轻易的得到所有Action的名字
usr文件内容如下

[General]
Type=Tulip
RunType=ActiveScript
DefaultCfg=default.cfg
ParamRightBrace=>
ParamLeftBrace=<
NewFunctionHeader=1
MinorVersion=0
MajorVersion=6       
ParameterFile=default.prm
DevelopTool=AQT

[Actions]
Action1=Action1\Script.mts
Action2=Action2\Script.mts
MyTestAction=Action3\Script.mts


...
作者: virgozz    时间: 2007-9-12 13:16
楼上的意思估计是讲通过规则生成符合qt语法的文本,插入脚本中,完全通过fso对象可以实现,问题就是怎么生成,通过什么操作生成什么文本,然后还要解决对象的问题.volvoo兄8楼的问题我想,通知人事部比较好解决一点,这么搞是不是会增加你的测试成本?
作者: volvoo    时间: 2007-9-12 17:38
不错,学习了,终于找到action,
楼上伟哥子兄,找人事是最不可取的方法,等于把问题拿到桌面上谈了,结果只有一个:砸了,你多工作几年就理解了
出来混饭吃,互相照应点吧

[ 本帖最后由 walker1020 于 2007-9-12 23:43 编辑 ]
作者: virgozz    时间: 2007-9-14 09:34
我还是觉得做技术就不用那么累了,那么劳烦着折腾自己,这种事情即使一时解决,以后的问题呢?做技术的还是神经大条一点比较好,需要用qtp那么就要学习vbs语言了,既然工作上有需求这就是个任务了,不学习应该是态度问题而不是能力问题了,volvoo兄一个人孤军奋斗在那么个环境的team下......技术不对可以靠培训学习来补,态度不对那就没办法了.我神经天生大条~说话也直,别见怪
作者: volvoo    时间: 2007-9-14 17:33
培训多次了,掌握不了,你能开除他们?况且自动化测试不是测试的全部,甚至仅仅占据了一点点地盘 ,大家开发的自动化测试覆盖率能到多少?对测试人员来说,业务的掌握远比着点自动化小玩意重要,我很欣赏您的坦率,但对你提到的解决的问题的方法不敢苟同,也许每个企业文化不同所致把
作者: applebugs    时间: 2008-2-1 10:36
请问你找到insert existing action相关接口实现的api?我们在脚本调度时碰到与你同样的问题, 可否分享一下你的解决方案。




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