mouseweiwei 发表于 2008-8-29 14:18:56

参数化QTP脚本后循环的问题

请教一下 我录制了下列脚本
Browser("xxx").Page("xxx").WebEdit("loginName").Set "administrator"
Browser("xxx").Page("xxx").WebEdit("pwd").SetSecure "48b7884c4b66810d"
Browser("xxx").Page("xxx").WebEdit("pwd").SetSecure "48b788545800715c8b27b3982641dc83c673a43e31ce36c99ccf"
Browser("xxx").Page("xxx").Link("登录").Click
Browser("xxx").Page("xxx_2").Frame("topFrame").Link("用户管理").Click
Browser("xxx").Page("xxx_2").Frame("leftFrame").Link("人员管理").Click
For i=1 to DataTable.GetRowCount
Browser("xxx").Page("xxx_2").Frame("mainFrame").Link("新增用户").Click
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("sysName").Set DataTable("loginUserName", dtGlobalSheet)
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("num").Set "1"
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("name").Set DataTable("sysUserName", dtGlobalSheet)
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("password").SetSecure "48b7887df00d36546d6783057ef6cb9601dfc89431d7"
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("confirmpw").SetSecure "48b7888030c74805ba29c74069db0b7949f8ee3dedf3"
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebList("departmentId").Select "|  |--品质部门"
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebButton("保 存").Click
DataTable.SetNextRow
next

现在的问题是 这个脚本的前段代码
Browser("xxx").Page("xxx").WebEdit("loginName").Set "administrator"
Browser("xxx").Page("xxx").WebEdit("pwd").SetSecure "48b7884c4b66810d"
Browser("xxx").Page("xxx").WebEdit("pwd").SetSecure "48b788545800715c8b27b3982641dc83c673a43e31ce36c99ccf"
Browser("xxx").Page("xxx").Link("登录").Click
Browser("xxx").Page("xxx_2").Frame("topFrame").Link("用户管理").Click
Browser("xxx").Page("xxx_2").Frame("leftFrame").Link("人员管理").Click
执行了一个登陆网站的操作 然后到达用户管理模块

下面这块是执行一个 TABLE的参数化循环输入
For i=1 to DataTable.GetRowCount
Browser("xxx").Page("xxx_2").Frame("mainFrame").Link("新增用户").Click
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("sysName").Set DataTable("loginUserName", dtGlobalSheet)
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("num").Set "1"
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("name").Set DataTable("sysUserName", dtGlobalSheet)
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("password").SetSecure "48b7887df00d36546d6783057ef6cb9601dfc89431d7"
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebEdit("confirmpw").SetSecure "48b7888030c74805ba29c74069db0b7949f8ee3dedf3"
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebList("departmentId").Select "||--品质部门"
Browser("xxx").Window("新增用户 -- 网页对话框").Page("新增用户").WebButton("保 存").Click
DataTable.SetNextRow
next

现在问题来了,我在循环注册结束后 系统不会结束的 代码重新回到第1行又开始新的一轮执行了
请教下如何让代码只执行1次呢?

duanyonghua2008 发表于 2008-8-29 14:46:13

这个是自然的,你在global的sheet中有多少行记录,系统就自动运行多少遍,不需要你自己手动在增加循环语句的。最好的解决方法是,把登陆部分单独做一个action,后面做一个action,把参数化的数据写到后面action的sheet中,去掉脚本中的for语句就可以了。

mouseweiwei 发表于 2008-8-29 15:07:40

按楼上的试了下 成功了 十分感谢

风vs叁少 发表于 2012-9-8 12:31:27

回复 2# duanyonghua2008


    请问那个setselection()括弧中怎样设置,,,,
页: [1]
查看完整版本: 参数化QTP脚本后循环的问题