51Testing软件测试论坛

标题: Datatable问题 [打印本页]

作者: shuishixingyu    时间: 2009-1-8 16:02
标题: Datatable问题
Dim str,MyArray ,i
'For i =1To DataTable.GetSheet("Global").GetRowCount
'DataTable.GetCurrentRow
Dialog("Login").WinEdit("Agent Name:").Set DataTable("UserName", dtLocalSheet)
Dialog("Login").WinEdit("Password:").SetSecure DataTable("PassWord", dtLocalSheet)
Dialog("Login").WinButton("OK").Click
wait(1)

If(Dialog("Login").Dialog("Flight Reservations").Exist) Then
   str = Dialog("Login").Dialog("Flight Reservations").GetVisibleText
   
   MyArray = Split(str,  vbcrlf , -1, 1)

  str = MyArray(1)
  DataTable.Value("result",dtGlobalSheet)=str
   DataTable.GetSheet("Global").SetNextRow
  Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
  DataTable.GetSheet("Action1").SetNextRow
else
'  DataTable.Value("result",dtGlobalSheet)="成功登录!"
  Window("Flight Reservation").Close
'  Exit For
End If

'Next

为什么脚本在全部走完后又会重新再走一边?
作者: danmy    时间: 2009-1-8 17:15
看一下你test的运行设置,
作者: shuishixingyu    时间: 2009-1-8 22:26
哦,我设置为run on all rows了。请问下,希望能逐行往下读取datatable,如果设置了run one iteration only的话,就要用for循环再用上SetNextRow ,否则的话就要设为run on all rows吗?
作者: plumlau002    时间: 2009-1-8 23:03
当设置为run on all rows的时候,global sheet里有几行,case就会自动重复运行几次。当设成run one iteration only时,case只运行一次,如果需要用到其他行的数据,需要用SetNextRow or setcurrentrow去定位你要的行
作者: shuishixingyu    时间: 2009-1-9 08:37
原帖由 shuishixingyu 于 2009-1-8 22:26 发表
哦,我设置为run on all rows了。请问下,希望能逐行往下读取datatable,如果设置了run one iteration only的话,就要用for循环再用上SetNextRow ,否则的话就要设为run on all rows吗?

那我理解的是正确的吧?
作者: asoqa    时间: 2009-1-10 12:07
http://www.51testing.com/?233320 ... e_itemid_99986.html
希望对你有用
作者: shuishixingyu    时间: 2009-1-12 09:35
谢谢,关于设置我明白了,那请问下,循环又有什么作用,是不是我设置好了,就不需要做循环和用SetNextRow 来定位了?
作者: asoqa    时间: 2009-1-12 16:02
不需要了,除非设置仍然不能满足你要求。




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