是否可以在运行时在QTP数据表或Excel工作表上动态添加新行?它必须是动态的,因为添加新行取决于输入数据返回的数据行数。看起来没有任何方法可以在datatable或excel中添加行,所以我不知道如何处理这个问题。
数据表:6列,目前正在测试4个帐号,现在作为行,所以它看起来像这样:
第1栏,第2栏,第3栏,第4栏,第5栏,第6栏 帐户1 帐户2 帐户3 帐号4
应用程序:具有帐号作为输入的Web应用程序,可以返回多行数据。目前,如果帐号返回多行数据,则它会超过前一个条目。我需要它在上一行下创建一个新行(这样它不会覆盖前一个条目)和b。)在下一个帐户的行中输入以前的帐户信息。
以下是审核的伪代码:
Dim Rowcount, webrowcnt
Rowcount=datatable.getsheet"Sheet name".GetRowCount
For i=1 to Rowcount
Datatable.GetSheet"Sheet name".SetCurrentRow(i)
Browser("").Page("").Link("").Click
Browser("").Page("").WebEdit("").Set DataTable("Row1", dtLocalSheet)
Browser("").Page("").WebButton("").Click
webrowcnt=Browser("").Page("").WebTable("").RowCount
For n=3 to webrowcnt (note: n=3 because the data I need starts on row 3)
If webrowcnt > 3 Then (note: this is where I want it to create a new row if there is more than 3 rows of data)
For i=4 to webrowcnt
some code here to create however many rows of data the account number has.
Next
End If
column1 = Browser("").Page("").WebTable("").GetCellData(n, 1)
DataTable("column1", dtLocalSheet)=column1
column2 = Browser("").Page("").WebTable("").GetCellData(n, 2)
DataTable("column2", dtLocalSheet)=column2
column3 = Browser("").Page("").WebTable("").GetCellData(n, 3)
DataTable("column3", dtLocalSheet)=column3
column4 = Browser("").Page("").WebTable("").GetCellData(n, 4)
DataTable("column4", dtLocalSheet)=column4
column5 = Browser("").Page("").WebTable("").GetCellData(n, 5)
DataTable("column5", dtLocalSheet)=column5
column6 = Browser("").Page("").WebTable("").GetCellData(n, 6)
DataTable("column6", dtLocalSheet)=column6
Browser("").Page("").Link("").click (note: link to return to home page to restart on new account number)
Next
答案 0 :(得分:0)
请尝试使用Datatable的 get 和 set 方法的组合
rowNum=DataTable.GetCurrentRow
DataTable.setCurrentRow(rowNum+1)
请关注数据表并按F1键,检查UFT(QTP)中的语法。
希望这可以解决您的问题。
答案 1 :(得分:0)
您可以继续将值插入下一行,最后将插入的值导出到外部文件
for n=3 to webrowcnt
......some code.......
If webrowcnt > 3 then
DataTable.SetCurrentRow(n) 'now value of n is 4 and so on
DataTable.Value("parameter","sheet")="Value" 'fill any data you want
......some code.......
end IF
......some code.......
next