Перейти к содержимому

Фотография

Два вопроса по TestComplete: переменные и язык?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 T-oha

T-oha

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 23 сентября 2005 - 08:22

С TestComplete я раньше никогда не работал - сейчас срочно нужно выбрать средство для автоматизированного тестирования. Выбор пал пока TestComplete.
Приложение написано на C# с использованием Framework 1.1. При экспресс знакомстве обнаружились две проблемы:
1) При выполнении следующего кода:
...
w = p["FormLogin"];
w["Activate"]();
Sys["Keys"]("Admin[Tab]1");
....
Вместо "Admin" вводится "Фвьшт". Независимо от текущей раскладки. Всегда вместо английских букв вводятся русские. Можно ли с этим как-то побороться?

2) Если в том же коде вместо "Admin" мне необходимо ввести значение, определенное в переменной - как это сделать? Т.е. например я хочу в цикле задавать "Admin1", "Admin2", "Admin3" и т.д.?

Заранее благодарю!
  • 0

#2 Лена

Лена

    Активный участник

  • Members
  • PipPip
  • 100 сообщений
  • ФИО:Елена

Отправлено 23 сентября 2005 - 08:51

У вас, наверное, Punto Switcher на машине установлен?
  • 0

#3 T-oha

T-oha

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 23 сентября 2005 - 09:08

Нет - никаких ни Punto ни Ninja - ничего этого не стоит. ОС WinXPSP2.
  • 0

#4 Scorp-13

Scorp-13

    Co-Moderator: Спорт, Кино и музыка

  • Members
  • PipPipPipPip
  • 285 сообщений
  • ФИО:Евгений
  • Город:Украина, Запорожье

Отправлено 23 сентября 2005 - 09:09

Значения переменных можно присваивать полю Text объекта ввода, тогда заодно пропадет проблема с раскладкой
  • 0
Ab altero expectes, alteri quod feceris

#5 sr2k

sr2k

    Новый участник

  • Members
  • Pip
  • 21 сообщений

Отправлено 23 сентября 2005 - 10:08

2) Если в том же коде вместо "Admin" мне необходимо ввести значение, определенное в переменной - как это сделать? Т.е. например я хочу в цикле задавать "Admin1", "Admin2", "Admin3" и т.д.?
Заранее благодарю!

 


можно просто вроде того
Sys["Keys"]("Admin"+Counter);
Где Counter - счётчик цикла. Возможно придётся еще найти функцию, которая преобразует Integer в String и после "+" писать эту функцию от значения счётчка.
  • 0

#6 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 23 сентября 2005 - 16:37

Здравствуйте.

Вместо "Admin" вводится "Фвьшт". Независимо от текущей раскладки. Всегда вместо английских букв вводятся русские. Можно ли с этим как-то побороться?

Ни разу с проблемой не сталкивался, но слышал (в том числе на этом форуме), что это бывает когда в списке раскладок русский язык стоит перед английским.
Можно поправить так - зайти в диалог, где представлены раскладки системы (Text Services and Input Languages), удалить русскую расладку, а затем тут же ее добавить.

Где Counter - счётчик цикла. Возможно придётся еще найти функцию, которая преобразует Integer в String и после "+" писать эту функцию от значения счётчка.

Функция преобразования - VarToStr.
  • 0
С уважением,
Дмитрий

#7 tfc

tfc

    Новый участник

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Igor Goncharov

Отправлено 30 марта 2006 - 11:52

Проблема не в Punto Switcher. Наверное при инсталляции русской Винды был оставлен язык ввода по умолчанию (русский). Похоже, что при запуске TestComplete считывает язык по умолчангию из ключа реестра.
Выход простой. Идем в реестр и правим:
HKU\.DEFAULT\Keyboard Layout\Preload
напротив цифры 1 должна быть английская раскладка (код - 00000409), а напротив 2, 3, и т.д. остальные языки. Например, код русского - 00000419.
Т.е. меняем нолик и единичку :-)
Удачи!!!
  • 0

#8 Гость_makcimka_*

Гость_makcimka_*
  • Guests

Отправлено 26 апреля 2006 - 06:51

А что делать, если во время теста надо вводить то по-русски, то по-английски?

#9 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 26 апреля 2006 - 08:17

Здравствуйте.

Можно переключать раскладку: Sys.Keys("^!");. Но вообще-то она должна автоматически переключаться, когда ТС встречает символы из соответствующей раскладки.
Кстати, если вы используете TestComplete 4, то можете использовать его метод 'BuiltIn.SetKeyboardLayout'.
  • 0
С уважением,
Дмитрий

#10 Гость_makcimka_*

Гость_makcimka_*
  • Guests

Отправлено 26 апреля 2006 - 09:52

спасибо. приду домой проверю.....


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных