51Testing软件测试论坛

标题: QTP怎么实现不现Action的关联循环? [打印本页]

作者: bosom_friend    时间: 2008-11-27 10:55
标题: QTP怎么实现不现Action的关联循环?

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
用action1调用action2
作者: winterplum    时间: 2008-11-27 12:22
你可以把action1的DataTable设置成Global DataTable,而非local data table.
即Set DataTable("Filter", dtGlobalSheet).
这样的话,对于Global DataTable中的每一行参数,QTP都会把整个所有action运行一遍。




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