[英]Using data from an Excel spreadsheet in QuickTest Pro
我一直在試圖弄清楚如何做到這一點。這是我的情況:
我有一個Excel電子表格(讓我們將其稱為“ workbook.xls”,我需要將兩張紙用於腳本。其中一張紙具有一列數據“ columnA”,我正嘗試將單元格A2放入其中(A1是標頭)放入我的QTP腳本中使用。
我希望能夠使用此特定值,然后處理一些數據,然后使用下一個單元格A3處理另一個過程/過程,依此類推。是否可能?
在其他語言中,我知道我可以使用for循環來遍歷數據,但是我一直在嘗試處理數據,然后返回循環以獲取數據。
例如:
Excel可能將A2設為“ 1”,將A3設為“ 2”。 我希望能夠將A1的值放入瀏覽器的輸入字段中。然后,我希望能夠對該值進行一些操作(單擊,寫入另一個文件等)。然后,我想移動放在值A3上,然后將A3的值放入與以前相同的輸入字段中,然后執行其他一些操作(這可能與我對A2所做的不一樣)。 我想知道如何實現此方案。
提前致謝。
是的,有可能。 假設我正確理解了您的問題,則可以執行以下操作:
Set xl = CreateObject("Excel.Application")
xl.Visible = True 'set to False for production
Set wb = xl.Workbooks.Open("C:\path\to\workbook.xls")
Set ws = wb.Sheets(1)
firstRow = ws.UsedRange.Rows(1).Row
lastRow = firstRow - 1 + ws.UsedRange.Rows.Count
For i = firstRow+1 To lastRow
val = ws.Cells(i, 1).Value 'get value from cell
'do stuff with val
Next
wb.Close
xl.Quit
測試的數據表是Excel電子表格。 您可以將數據導入QTP中測試的DataTable中(在默認工作表中),也可以添加自己的數據,然后通過代碼訪問它們:
Set sheet = DataTable.GetSheet "Sheet Name"
numRows = sheet.GetRowCount
For index = 0 To numRows
value = sheet.GetParameter(index)
'Do something
Next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.