51Testing软件测试论坛

标题: qtp中的for循环 [打印本页]

作者: wangkai    时间: 2008-6-30 11:37
标题: qtp中的for循环
我需要实现的目的是:
1.有2组数据,用户名和密码登陆客户端软件
2.需要让上述的2组数据循环执行10次
3.我录制的脚本如下:
For j= 1 to 3
DataTable.GlobalSheet.SetCurrentRow j
Dialog("UT Game").Dialog("#32770").WinEdit("帐号:").Set DataTable("帐号", dtGlobalSheet)
Dialog("UT Game").Dialog("#32770").WinEdit("密码:").Type micCtrlDwn + micShiftDwn + "R" + micShiftUp + micCtrlUp
Dialog("UT Game").Dialog("#32770").WinEdit("密码:").Type DataTable("密码", dtGlobalSheet)
Dialog("UT Game").Dialog("#32770").WinEdit("密码:").Type micCtrlDwn + micShiftDwn + "r" + micShiftUp + micCtrlUp
Dialog("UT Game").Dialog("#32770").WinEdit("密码:").SetSecure "48684da831c6ff99b1100a894f1faaa27525"
Dialog("UT Game").Dialog("#32770").WinComboBox("模式:").Select DataTable("模式", dtGlobalSheet)
Dialog("UT Game").Dialog("#32770").WinCheckBox("记住密码").Set "ON"
Dialog("UT Game").Dialog("#32770").WinButton("登 录").Click
SystemUtil.CloseProcessByName "utgame.exe"
Next
4.执行后只执行第一组数据,不会在往下执行了
5.如果去掉for循环可以顺利执行这2两组数据
6.请问如何实现for循环在我的脚本中?
作者: 小孩    时间: 2008-6-30 12:29
For j= 1 to 3
DataTable.GlobalSheet.SetCurrentRow j '删掉这条语句
Dialog("UT Game").Dialog("#32770").WinEdit("帐号:").Set DataTable("帐号", dtGlobalSheet)
Dialog("UT Game").Dialog("#32770").WinEdit("密码:").Type micCtrlDwn + micShiftDwn + "R" + micShiftUp + micCtrlUp
Dialog("UT Game").Dialog("#32770").WinEdit("密码:").Type DataTable("密码", dtGlobalSheet)
Dialog("UT Game").Dialog("#32770").WinEdit("密码:").Type micCtrlDwn + micShiftDwn + "r" + micShiftUp + micCtrlUp
Dialog("UT Game").Dialog("#32770").WinEdit("密码:").SetSecure "48684da831c6ff99b1100a894f1faaa27525"
Dialog("UT Game").Dialog("#32770").WinComboBox("模式:").Select DataTable("模式", dtGlobalSheet)
Dialog("UT Game").Dialog("#32770").WinCheckBox("记住密码").Set "ON"
Dialog("UT Game").Dialog("#32770").WinButton("登 录").Click
SystemUtil.CloseProcessByName "utgame.exe"
Next
作者: wangkai    时间: 2008-6-30 16:42
标题: 去掉还是不行
去掉还是不行
作者: xiaonan    时间: 2008-6-30 17:18
提个思路,先把QTP里的run设置选择第一种. 完全让for循环来控制.  for设置一个你每个记录要循环的次数,比如说10次,那就是j=1 to10.  然后在循环最后写个if语句来判断,比如这个循环到了第10次了,就让datatable的记录往下移一条,然后把j重新归为0 .再来对第2条记录执行10遍. 最后再判断一下,datatable已经是最后一条记录了,就强制退出for.




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