
Два вопроса по TestComplete: переменные и язык?
#1
Отправлено 23 сентября 2005 - 08:22
Приложение написано на C# с использованием Framework 1.1. При экспресс знакомстве обнаружились две проблемы:
1) При выполнении следующего кода:
...
w = p["FormLogin"];
w["Activate"]();
Sys["Keys"]("Admin[Tab]1");
....
Вместо "Admin" вводится "Фвьшт". Независимо от текущей раскладки. Всегда вместо английских букв вводятся русские. Можно ли с этим как-то побороться?
2) Если в том же коде вместо "Admin" мне необходимо ввести значение, определенное в переменной - как это сделать? Т.е. например я хочу в цикле задавать "Admin1", "Admin2", "Admin3" и т.д.?
Заранее благодарю!
#2
Отправлено 23 сентября 2005 - 08:51
#3
Отправлено 23 сентября 2005 - 09:08
#4
Отправлено 23 сентября 2005 - 09:09
#5
Отправлено 23 сентября 2005 - 10:08
2) Если в том же коде вместо "Admin" мне необходимо ввести значение, определенное в переменной - как это сделать? Т.е. например я хочу в цикле задавать "Admin1", "Admin2", "Admin3" и т.д.?
Заранее благодарю!
можно просто вроде того
Sys["Keys"]("Admin"+Counter);Где Counter - счётчик цикла. Возможно придётся еще найти функцию, которая преобразует Integer в String и после "+" писать эту функцию от значения счётчка.
#6
Отправлено 23 сентября 2005 - 16:37
Ни разу с проблемой не сталкивался, но слышал (в том числе на этом форуме), что это бывает когда в списке раскладок русский язык стоит перед английским.Вместо "Admin" вводится "Фвьшт". Независимо от текущей раскладки. Всегда вместо английских букв вводятся русские. Можно ли с этим как-то побороться?
Можно поправить так - зайти в диалог, где представлены раскладки системы (Text Services and Input Languages), удалить русскую расладку, а затем тут же ее добавить.
Функция преобразования - VarToStr.Где Counter - счётчик цикла. Возможно придётся еще найти функцию, которая преобразует Integer в String и после "+" писать эту функцию от значения счётчка.
Дмитрий
#7
Отправлено 30 марта 2006 - 11:52
Выход простой. Идем в реестр и правим:
HKU\.DEFAULT\Keyboard Layout\Preload
напротив цифры 1 должна быть английская раскладка (код - 00000409), а напротив 2, 3, и т.д. остальные языки. Например, код русского - 00000419.
Т.е. меняем нолик и единичку :-)
Удачи!!!
#8
Гость_makcimka_*
Отправлено 26 апреля 2006 - 06:51
#9
Отправлено 26 апреля 2006 - 08:17
Можно переключать раскладку: Sys.Keys("^!");. Но вообще-то она должна автоматически переключаться, когда ТС встречает символы из соответствующей раскладки.
Кстати, если вы используете TestComplete 4, то можете использовать его метод 'BuiltIn.SetKeyboardLayout'.
Дмитрий
#10
Гость_makcimka_*
Отправлено 26 апреля 2006 - 09:52
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных