如何在测试完成工具中取消特殊字符的键模拟

How to nullify keys simulation for special characters in TestComplete tool?

本文关键字:特殊字符 取消 模拟 工具 测试      更新时间:2023-09-26

谁能告诉我如何在TestComplete中取消特殊字符的模拟?

我正在尝试向runas窗口发送密码,例如:

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

其中hCmdrunas命令窗口的句柄。

但是,如果密码值包含任何特殊字符,如!^,TestComplete将模拟Shift或Ctrl等键。

有没有办法通过TestComplete对密钥中的指定部分(例如密码前后的HTML标签)取消此类操作,以便所有字符都将按这些标签之间的方式键入?

您需要通过加倍来转义这些特殊字符:

!!!

~~~

^^^

[[[

这实际上在文档的密钥代码表中提到过。


如果要从外部源检索 a_Password 值,则只需在将其传递给 Keys 方法之前执行字符串替换即可。例如:

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


只是想知道Testcomplete是否为这种情况提供了任何解决方案?

字符串替换是我知道的唯一解决方案,而且非常简单。另请注意,仅当您使用 Keys "键入"文本时,才需要这样做。使用 wText 或类似属性以编程方式设置文本时,无需转义这些特殊字符或以其他方式预处理文本。