51Testing软件测试论坛

标题: QTP 把录制好的脚本切割成多个动作,怎么调用其中的一个 [打印本页]

作者: 1005501303    时间: 2010-4-20 09:15
标题: QTP 把录制好的脚本切割成多个动作,怎么调用其中的一个
把录制好的脚本切割成多个动作,action1;action2;action3····

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

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

麻烦给出详细的过程,我刚学QTP什么还不懂呢,入门教程看过了,还是不会
作者: 1005501303    时间: 2010-4-20 09:59
怎么没人回答啊,难道是我没表达清楚吗???
作者: TIB    时间: 2010-4-20 10:01
Insert - Call to Existing
作者: 1005501303    时间: 2010-4-20 10:16
这个好像是:插入呼叫的动作啊
作者: 1005501303    时间: 2010-4-20 10:23
我录制的脚本是一个web程序,录制的脚本有:登录和XX功能模块

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

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

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

动作已经分割:
登      录:action1
XX功能模块:action2
作者: TIB    时间: 2010-4-20 11:51
新建一个Action,然后在Acton中插入对Action1的调用和Action2的调用,Action2的迭代设置为AllRows
作者: 1005501303    时间: 2010-4-20 15:22
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[description]").Set DataTable("C", dtGlobalSheet)
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_2").WebEdit("field[pindex]").Set DataTable("D", dtGlobalSheet)
Browser("XXXX").Page("XXXX V1.0 --- Powered").Frame("main_2").WebEdit("field[remark]").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
6#的朋友,你说的我试怎么不行啊。效果是一样的啊···难到我设置错误了

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

重复迭代action2,不执行action1
作者: wen_zh_smile    时间: 2010-4-20 15:38
这几天也刚开始学习qtp,试下这个方法,test flow 视图中,右击要重复运行的action,
选择action call properties-->Run on all rows,可以让acion重复运行多次。
作者: TIB    时间: 2010-4-20 15:38
Action2不要设置为全局的DataTable,用Action2本身的DataTable
作者: ziqiuwendan    时间: 2010-4-28 12:08
TIB说的对
作者: 正在更新    时间: 2011-10-25 13:30
如何对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

作者: trollmax    时间: 2012-8-3 09:47
路过!




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