2011-04-06 37 views
0

誰能告訴我如何取消TestComplete中特殊字符的模擬?如何取消TestComplete工具中特殊字符的模擬鍵?

我試圖發送一個密碼runas窗口,如:

hCmd.Keys(a_Password + "[Enter]") 

其中hCmd對於runas命令窗口句柄。

但是,如果密碼值包含任何特殊字符,如!^,TestComplete是模擬鍵Shift或Ctrl等。

有沒有辦法通過TestComplete在指定的部分來抵消這種操作如密碼前後的HTML標籤,以便所有字符都可以在這些標籤之間鍵入?

回答

0

你需要他們加倍逃避這些特殊字符:

!!!

~~~

^^^

[[[

這實際上是在documentation的關鍵代碼表中提到的。


如果您檢索從外部源的a_Password值,然後簡單地做一個字符串,它傳遞給Keys方法前更換。例如:

a_Password = a_Password.replace("!", "!!").replace("~", "~~").replace("^", "^^").replace("[", "[["); 
// or 
a_Password = a_Password.replace(/[!~^[]/g, "$&$&"); 


只是好奇,想知道是否有任何解決方案通過Testcomplete爲這樣的場景提供?

字符串替換隻是我意識到的解決方案,而且是一個非常簡單的解決方案。還請注意,只有當您使用Keys「鍵入」文本時才需要。當您使用wText或類似屬性以編程方式設置文本時,不需要轉義那些特殊字符或以其他方式預處理文本。

+0

Helen,但問題是我從外面傳遞參數a_Password,我不想用轉義字符聲明它。此外,讓變量值聲明保留轉義字符並且有時也會引起誤解,這看起來很尷尬 – svv 2011-04-06 17:10:07