51Testing软件测试论坛

标题: qtp的记录之action篇 [打印本页]

作者: oftime999    时间: 2007-6-18 14:49
标题: qtp的记录之action篇
GLOBAL  SHEET:可在任何action中调用它。(相当于全局变量)
CURRENT  ACTION  SHEET(LOCAL):只提供对于本ACTION的调用
如果你用了一个共享的对象库那么你就不能选择LOCAL来存储存一个对象数据表参数。
ACTION  TOOLBAR真到插入ACTION才会出现。VIEW>TOOLS>ACTION
DELETE一个插入的可重复ACTION如果DELETE第一项:只是删除此ACTION的调用语句。此ACTION还存在语句。
第二项:把此ACTION从TEST中完全删除。
如果在一个从外面调用来的ACTION插入新的ACTION那么是直接插入它的后面而不能插入其中,因为它是只读的。

Action传递参数的三个方法
1:利用Action Parameters功能。
2:把变量放入data table
3:   自定义环境变量(Test>Settings>Environment)
ACTION的三种类型
1:非重用型:只能在被存储它的TEST中调用而且只能被调用一次。
2:重用型:可以被多次在被存储它的TEST或别的TEST中调用,
3:外部型:一个存储在别的TEST中的可重用型,只能在调用它的TEST中只读。但它的DATA  TABLE可以用以LOCAL和可以编辑它的副本。右键ACTION  PROPERTIES>EXTERNAL  ACTION>USE  A  LOCAL,EDITABLE  COPY。
调用重用型的ACTION可以在以后新版本中控件发生变化时只升级被调用的可重复型ACTION所在的源程序即可。

Analog和low-level录制的区别
Analong是记住鼠标和键盘的操作,记录在一个单独的文件中。
e.g.Desktop.RunAnalog "Track1"
low-level是对于QTP不能识别的对象利用它们的坐标进行录制。如果日后对象位置有变动则很可能会操作失败。
e.g.
Window("Program Manager").WinObject("FolderView").Drag 83,149
Window("Program Manager").WinObject("FolderView").Drop 215,285
QTP拆分操作
下列情况不有拆分:
1:选定外部操作时
2:选定操作的第一个步骤时
3:录制测试时
4:运行测试时
5:使用只读测试时
Runaction中的oneIteration如遇被调用Action datatable行数小于当前Action的Global datatable的行数时

oneIteration每次只读取被调用Action datatable中的一行,如果当前Action的Globaltalbe>被调用Action datatable的行数,则剩余几行用被调用Action datatable的最后一行循环。
例如:
当前Action有5行。
被调用Action有3行:aa,bb,cc
那么最后两次调用:cc,cc.
test parameter 的使用问题
test parameter 的使用问题
一个qtp test可以有很多的action组成,现在Test Settings的Parameters页中设置了一个Input parameter,名为"TCPath",字符型,
如何在某一个action中调用该变量,用Parameter("TCPath")好象不行,应该如何书写语句,谢谢!  

在一个action中调用另一个action中的变量时.先在另一个action中设置个output参数,用变量传出来,才能在这个action用input参数把变量传进去.才能用Parameter("TCPath").你的写法并没有什么问题.是你设置的parameter参数不对.到step--action pro...那里去设output参数  

我是想通过外部程序调用该test的,在调用的的过程中送入一个参数,所以在Test Settings的Parameters页中设置了一个Input parameter,名为"TCPath",调用程序如下:
    Set qtApp1 = CreateObject("QuickTest.Application")
    Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions")
    qtResultsOpt.ResultsLocation = targetQTPscriptPath & "\Res1"
    Set pDefColl = qtApp1.Test.ParameterDefinitions
    'Retrieve the Parameters collection defined for the test.
    Set rtParams = pDefColl.GetParameters()
   
    'Retrieve a specific parameter.
    Set rtParam = rtParams.Item("TCPath")
    strTCPath="c:\qtp\test1.xls"
    rtParam.Value = strTCPath
    Set qtTest = qtApp1.Test
    qtTest.Run qtResultsOpt, True, rtParams
如何在action中调用该输入参数?  

RunAction "login", oneIteration,"mercury","mercury"
可以通过类似这样的写法,把参数传到一个action中去,当然要在step--action pro...那里去设input参数 .
作者: walker1020    时间: 2007-6-20 09:35
谢谢楼主!总结的非常全面!
作者: ymtest    时间: 2007-7-11 09:07
曲高和寡哦
作者: ymtest    时间: 2007-7-11 09:07
暂时不懂,顶一个先
作者: wendy52602    时间: 2007-7-11 10:13
太好了!谢了!
作者: zhmiss    时间: 2007-7-12 11:27
学习中
作者: walker1020    时间: 2007-7-13 17:10
不错 收藏!
作者: 遥远的绝响    时间: 2007-7-29 14:36
sdlkfj2 sdlkfj2
作者: xihong2004    时间: 2007-7-29 17:29
顶一个
作者: topor    时间: 2007-7-31 13:32
这个怎么和我在“梦醒时分”的QTP的170个问题中看到的是一样的?
作者: three116    时间: 2007-8-9 13:13
比较实用哦
作者: namedxf    时间: 2007-8-26 15:04
很不错的文章哦!
作者: luckystarpgq    时间: 2007-8-29 17:09
楼主辛苦,总结的很好,多谢啦.
作者: mystufo    时间: 2007-8-29 17:11
看不懂哦
作者: lovealina    时间: 2007-9-1 17:11
学习!sdlkfj2
作者: Diana_zhaozhao    时间: 2011-8-12 15:12
看大家反应不错,收藏了!




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