1005501303 发表于 2010-4-20 09:15:45

QTP 把录制好的脚本切割成多个动作,怎么调用其中的一个

把录制好的脚本切割成多个动作,action1;action2;action3····

action1和action3只执行一次,action2需要执行data table 中所有的数据···

该怎么设置才能调用action2···

麻烦给出详细的过程,我刚学QTP什么还不懂呢,入门教程看过了,还是不会

1005501303 发表于 2010-4-20 09:59:50

怎么没人回答啊,难道是我没表达清楚吗???

TIB 发表于 2010-4-20 10:01:28

Insert - Call to Existing

1005501303 发表于 2010-4-20 10:16:47

这个好像是:插入呼叫的动作啊

1005501303 发表于 2010-4-20 10:23:12

我录制的脚本是一个web程序,录制的脚本有:登录和XX功能模块

XX功能模块需要使用data table 中的数据(多个)

run时 每执行一次data table 中的一组数据,就需要执行一次登录

怎么跳过登录这个动作。只执行XX功能模块

动作已经分割:
登      录:action1
XX功能模块:action2

TIB 发表于 2010-4-20 11:51:54

新建一个Action,然后在Acton中插入对Action1的调用和Action2的调用,Action2的迭代设置为AllRows

1005501303 发表于 2010-4-20 15:22:41

action1:
Browser("XXXX").Page("XXX").WebEdit("username").Set "admin"
Browser("XXXX").Page("XXX").WebEdit("password").SetSecure "4bcc1cfe3ad6845a98906f64385e31c7"
Browser("XXXX").Page("XXX").Image("imageField").FireEvent "onmouseover"
Browser("XXXX").Page("XXX").Image("imageField").Click 33,8
action2:
Browser("XXXX").Page("XXXX V1.0 --- Powered").WebElement("XX").Click
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("left").Link("XXX").Click
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main").WebButton("XXXX").Click
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_2").WebEdit("dmcod").Set DataTable("A", dtGlobalSheet)
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_2").WebEdit("dmcpt").Set DataTable("B", dtGlobalSheet)
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_2").WebEdit("field").Set DataTable("C", dtGlobalSheet)
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_2").WebEdit("field").Set DataTable("D", dtGlobalSheet)
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_2").WebEdit("field").Set DataTable("E", dtGlobalSheet)
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_2").WebButton("提交").Click
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_3").Link("如果您的浏览器没有自动跳转,请点击这里").Click

1005501303 发表于 2010-4-20 15:26:23

6#的朋友,你说的我试怎么不行啊。效果是一样的啊···难到我设置错误了

7#是我的脚本,帮帮看看该怎么设···

重复迭代action2,不执行action1

wen_zh_smile 发表于 2010-4-20 15:38:23

这几天也刚开始学习qtp,试下这个方法,test flow 视图中,右击要重复运行的action,
选择action call properties-->Run on all rows,可以让acion重复运行多次。

TIB 发表于 2010-4-20 15:38:59

Action2不要设置为全局的DataTable,用Action2本身的DataTable

ziqiuwendan 发表于 2010-4-28 12:08:22

TIB说的对

正在更新 发表于 2011-10-25 13:30:36

如何对QTP迭代设置不理解或想只通过脚本实现 可以试试下面的脚本
-----------------Action1-------------

=======Action1的脚本代码=====
runaction "Action2",oneiteration
runaction "Action3",oneiteration
=======Action1的脚本代码=====

-------------Action2----------------------
datatable.getsheet("Action2")注:在某个Action中默认调用对应的局部datatable的sheet,这句可以不写,如果调用其他sheet需要写这句
for i=1 to datatable.getrowcount
      datatable.setcurrentrow(i)
    ====使用sheet中此行数据的代码
next

-------------Action3----------------------

=======Action3脚本代码========

iamselma 发表于 2011-11-7 15:15:07

:)

trollmax 发表于 2012-8-3 09:47:54

:P路过!
页: [1]
查看完整版本: QTP 把录制好的脚本切割成多个动作,怎么调用其中的一个