2013-04-02 44 views
2

在QTP中,它表示actions datatable是本地的,只有特定動作中的代碼纔可以訪問其中的值(例如Action1數據表中的值只能由Action1腳本訪問),那就是爲什麼我們必須使用全局表格。從動作中檢索數據Datatable - QTP

但是我碰到下面的功能,會採取不同的行動表中的數據,就好像如果措施1數據表和代碼數據在行動2

誰能calrify我,如果這是可行的,如果是爲什麼它概括了動作數據表中的值是本地的,只有全局數據表中的值可以從任何地方訪問?

DataTable.Getsheet("Action1").GetParameter(A).Value 

回答

0

看起來你可以做到這一點,但是,你爲什麼也想要?製作一個腳本並從中調用您的操作會不會更容易?這樣,你可以引用你想要使用的動作數據表的哪一行。

例如..

RunAction 「措施1 [措施1]」, 「1-1」

RunAction 「措施2 [措施2]」, 「1-1」

這似乎相當更清潔並且不會讓任何其他嘗試處理測試腳本的人感到困惑。

1

默認情況下,本地和全局數據表與當前的動作有關係。您可以在行動的第一行發出這些命令,你會得到的值:

  • DataTable.GlobalSheet.Name
  • DataTable.LocalSheet.Name

然而,HP不阻止您訪問任何您想要的工作表:僅存在一個ImportSheet函數強調了如果2個表不夠用的情況下可以使用外部表。使用其他操作的工作表與從導入的Excel文件中使用工作表沒有區別。

enter image description here

你有一個點,它是有意義的訪問本地數據表僅限制於擁有行動,就像局部變量是如何僅限於定義它們的功能。但是請記住,Action的DataSheet是一個完全獨立的對象。它唯一的不可撤銷的關係是與它的父級excel文件。這可能是惠普沒有提出這種限制的原因。

0

Datatable(「columnname」,「tabname」) 可以從任何軟件訪問。

示例: strUser的數據表=( 「用戶」, 「全局」) 的Equals strUser的數據表=( 「用戶」,dtGlobalSheet)