Actually, i was using WaitAliasChild at the begining, but WaitAliasChild sometimes doesn't work as i expected:
1. The control indeed exists according to log capture, but WaitAliasChild of it returns false, means the control does NOT exist, that's why i create a function of my own to have a step to refresh the cached namemapping info and check the control again.
2. It also has the hang issue which test won't keep moving after the seconds set in WaitAliasChild.
By the way, today i met the hang issue again when ran below script:
Aliases.WaitAliasChild("BISuiteServerInstaller", 120000);
it stuck at this place and test case timeout after 60 minutes.