前往: 導覽, 搜尋

TestComplete 使用 Project Variable 時別忘記使用 RefreshMappingInfo()

緣起:有時候碰到比較機車的元件,他的 Name 可能一樣,但是 Index 卻不一樣,TC 有時候就傻傻的
視為相同的元件,此時要去修改 Name mapping 的 table 的時候,TC 又很機車不讓人任意修改,在這個時候
提供兩種解決方法。

方法一:
使用Project Variable 動態決定 index 或其他屬性的參數

Project Variable.jpg

/*
在 TC code 裡面要使用時先設定 index,然後設定完之後別忘記呼叫
RefreshMappingInfo() 這很重要,要不然不會動的說。
*/
Project.Variables.ValIndexFor_CMX_Transion_Index = 1;
Aliases.MDXProject.dlgDataEditor.RefreshMappingInfo();



方法二:
因為TC 無法任意修改 Name mapping table,即使元件明明就在dialog 上面,要將其加入 table
有時候也會得到 Name 重複的警告訊息而不給加(老實說我強烈懷疑這是bug),不過沒關係,在這個時候 只要加入 Property 的 Checkpoint , TC 就會自己把元件給加入 Name mapping 中。