bosom_friend 发表于 2008-11-27 10:55:22

QTP怎么实现不现Action的关联循环?

:o
Action1的DataTable里有两条数据。
Action2的DataTable里有三条数据.
为了实现如下执行顺序:

ACtion1执行第1次循环,Action2执行3次循环。
ACtion1执行第2次循环,Action2执行3次循环。
Action1(Action1第1行参数)
Action2(Action2第1行参数)
Action2(Action2第2行参数)
Action2(Action2第3行参数)
Action1(Action1第2行参数)
Action2(Action2第1行参数)
Action2(Action2第2行参数)
Action2(Action2第3行参数)

怎么来实现啦?请各位指点下,谢谢。

以下是我录的,但运行顺序是:
Action1(Action1第1行参数)
Action1(Action1第2行参数)
Action2(Action2第1行参数)
Action2(Action2第2行参数)
Action2(Action2第3行参数)

Action1:
Browser("Browser").Navigate "http://www.google.com"
For i = 1 to DataTable.GetSheet("Action1").GetRowCount
DataTable.SetCurrentRow i
Browser("Browser").Page("Google").WebEdit("q").Set DataTable("Filter", dtLocalSheet)
Browser("Browser").Page("Google").WebButton("Google Search").Click
Next

Action2
For i =1 to DataTable.GetSheet("Action2").GetRowCount
DataTable.SetCurrentRow i
Browser("Browser").Page("search - Google Search").Link("Advanced Search").Click
Browser("Browser").Page("Google Advanced Search").WebEdit("as_q").Set DataTable("test1", dtLocalSheet)
Browser("Browser").Page("Google Advanced Search").WebEdit("as_epq").Set DataTable("test2", dtLocalSheet)
Browser("Browser").Page("Google Advanced Search").WebEdit("WebEdit").Set DataTable("test3", dtLocalSheet)
Browser("Browser").Page("Google Advanced Search").WebEdit("WebEdit_2").Set DataTable("test4", dtLocalSheet)
Browser("Browser").Page("Google Advanced Search").WebEdit("WebEdit_3").Set DataTable("test5", dtLocalSheet)
Browser("Browser").Page("Google Advanced Search").WebButton("Advanced Search").Click
Next


谢谢。

gy21st 发表于 2008-11-27 12:19:39

用action1调用action2

winterplum 发表于 2008-11-27 12:22:47

你可以把action1的DataTable设置成Global DataTable,而非local data table.
即Set DataTable("Filter", dtGlobalSheet).
这样的话,对于Global DataTable中的每一行参数,QTP都会把整个所有action运行一遍。
页: [1]
查看完整版本: QTP怎么实现不现Action的关联循环?