51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2920|回复: 7
打印 上一主题 下一主题

[原创] 关于QTP的执行顺序问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-8-29 10:23:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我刚接触QTP,我想了解QTP的执行机制是什么?就是说先执行QTP内部的哪个函数,然后怎么定义全局变量,再执行录制的action。象loadrunner先执行init,然后action,然后end,层次分明,但是这个QTP只有action是怎么回事?

[ 本帖最后由 linei 于 2008-8-29 10:25 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-8-29 10:31:11 | 只看该作者
一般的解释性脚本语言都是顺序执行的,也就是说按照代码的先后顺序来执行的
QTP会先加载所有的设置项,包括库函数和对象库文件,然后进行预编译
之后按照顺序执每没行代码,直到完成
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-8-29 11:35:37 | 只看该作者
谢谢斑竹,那我直接在那个代码编辑视图里面写一些大型的测试用例,是不是可以自己组织一个调用顺序的脚本?还有这些脚本都存放在什么目录下面有限制吗?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-8-29 12:46:34 | 只看该作者
保存测试后,在保存文件夹中会有对应的文件夹。Action0  , Action1,。。。。Actionn。在qtp中看不到Action0。但在脚本执行时,是从Action0开始执行的。可以打开Action0文件夹中的Script.mts,这里边是调用的Action1
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-8-29 13:23:31 | 只看该作者
我们一般都是采用动态执行脚本的方式
比如:
Execute "call " & FunctionName
或者
Exceute "RunAction" & ActionName
这类的方式
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-8-29 14:27:58 | 只看该作者
当然有顺序啦,一般来说一个项目,根据功能的不同要创建多个测试(test),每个测试根据功能点不同要创建多个action,运行的时候使用RunAction语句按照顺序调用本测试或外部测试action,如:
RunAction "OpenApplication [FlightLib]", oneIteration,Environment("ProductDir"), "\samples\flight\app\flight4a.exe"
RunAction "OpenOrderForm [FlightLib]", oneIteration
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"
Window("Flight Reservation").Dialog("Open Order").WinEdit("CustomerNameEdit").Check CheckPoint("Edit_2")
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Flight Date").Check CheckPoint("Flight Date")
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Check CheckPoint("Order No.")
Window("Flight Reservation").Dialog("Open Order").WinEdit("OrderNumberEdit").Check CheckPoint("Edit")
Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Check CheckPoint("OK")
Window("Flight Reservation").Dialog("Open Order").WinButton("Cancel").Check CheckPoint("Cancel")
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "OFF"
上面这里例子里面,先运行了测试FlightLib中的OpenApplication和OpenOrderForm两个action,然后运行自己测试中的脚本,实现了脚本的复用,而且控制了脚本的执行顺序。

不知道我说明白了没有,我发现自己的表达能力很不好,呵呵。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-8-29 17:34:20 | 只看该作者
支持二楼的说法
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-9-3 09:54:22 | 只看该作者
谢谢大家的答疑, ,不过还有很多知识都不了解哦,呵呵!RunAction干什么用的啊?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 22:09 , Processed in 1.460001 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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