簡體   English   中英

在QuickTest Pro中使用Excel電子表格中的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM