Как обнулить симуляцию клавиш для специальных символов в инструменте TestComplete? - PullRequest
0 голосов
/ 06 апреля 2011

Может кто-нибудь сказать мне, как обнулить симуляцию для специальных символов в TestComplete?

Я пытаюсь отправить пароль в окно runas, например:

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

где hCmd - дескриптор командного окна runas.

Но если значение пароля содержит какие-либо специальные символы, такие как ! или ^, TestComplete имитирует клавиши Shift или Ctrl и т. Д.

Есть ли способ аннулировать такую ​​операцию с помощью TestComplete для указанной части в ключах, таких как тег HTML, до и после пароля, чтобы все символы были напечатаны так, как есть между этими тегами?

1 Ответ

0 голосов
/ 06 апреля 2011

Вам нужно экранировать эти специальные символы, удвоив их:

! & rarr; !!

~ & rarr; ~~

^ & rarr; ^^

[ & rarr; [[

Это на самом деле упоминается в таблице кодов ключей в документации .


Если вы извлекаете значение a_Password из внешнего источника, просто выполните замену строки перед передачей ее методу Keys. Например:

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


Просто любопытно узнать, есть ли какое-либо решение, предоставляемое Testcomplete для таких сценариев?

Замена строки - это единственное решение, о котором я знаю, и оно довольно простое. Также обратите внимание, что это необходимо, только когда вы «печатаете» текст, используя Keys. Когда вы устанавливаете текст программно, используя wText или аналогичные свойства, нет необходимости экранировать эти специальные символы или иным образом предварительно обрабатывать текст.

...