難不成所有標籤是唯一的(我懷疑..):
您可以創建它接受標籤的功能,在QC的表搜索定義正確的字段定義自定義的字段,並返回字段名稱。然後使用函數的結果值作爲索引屬性的索引。
假設功能將被稱爲「GetNameOfLabel」,然後在主叫方的代碼看起來像:
Set currentRun = QCUtil.CurrentRun
currentRun.Field(GetNameOfLabel ("Data Rows Passed")) = 1
currentRun.Post
當然,該功能不會真的是微不足道的,但在該QC數據一些挖後很容易模型,並找到一種通過SQL從數據庫中獲取名稱的有效方法。
或者功能可以查找名稱在數組或字典,那麼你就必須維持該字典,但你不必去到數據庫中的每個查詢。
Disadventages:
- 腳本用錯誤的標籤可能會難以進行調試
- 如果標籤不是唯一的,它可能是真正的「好玩」來調試
如果仰視在DB上:
- 如果您沒有爲這些查找緩存或預加載SQL查詢結果,所有腳本速度都會下降;
- 複雜,因爲你必須做正確的SQL查詢,你依賴於一個非常特殊的方式QC的數據模型(通常當你升級的恐怖)
如果陣列仰視,或詞典:
- 你要麼必須保持其初始化(BET其他管理球員加入卡斯特場都會忘記,很容易),或者必須「裝載」從QC的表(這是一個有點像SQL解決方案上面,並具有相同的缺點)。
我會去與數組/字典初始化從數據庫的想法。或者,如果您可以接受已經提出的恆定想法,那麼這是一個很好的選擇。考慮到在QC定製腳本中不存在與會話無關的範圍,SQL訪問想法可能會真正地影響性能,因爲它必須針對每個新用戶會話執行。這也是爲什麼我也爲此堅持不懈的想法。
你爲什麼要這麼做?你今天爲什麼不能使用這個名字? – 2010-06-25 21:29:28
嗨,亞歷克斯。好問題。原因是我們使用了很多自定義字段,測試人員/開發人員很難用「RN_USER_03」這樣的名稱來實現和維護測試,所以很容易混淆,犯錯誤,而且很難閱讀代碼。標籤不會經常更改,這就是爲什麼我們想要使用標籤。 – 2010-07-05 19:49:57
難道你不能像使用有意義的名稱一樣容易地將字段名稱分配給常量嗎? 'const DATA_ROWS_PASSED =「RN_USER_03」currentRun.Field(DATA_ROWS_PASSED)= 4' – 2010-07-06 13:17:37