Ввод текста
#1
Отправлено 16 декабря 2008 - 13:30
Нуждаюсь в вашей помощи вот в каком вопросе.
При вводе текста в соответствующее поле, текст вводится обрывками...(как бы точнее объяснить. К примеру водится первое слово и за ним должно следовать второе, но первое стирается и второе пишется вместо первого). И это не постоянно. Иногда все работает отлично. От чего может такое случаться? Может как то можно замедлить ввод текста?
VBscript.
Мир для него, хоть на миг, - а иной»
ХОДАСЕВИЧ В
#2
Отправлено 16 декабря 2008 - 13:51
А как вы ввод делаете? Вы присваиваете значение свойству wText или аналогичному, отвечающему за содержимое текстового поля, или же посылаете сигналы нажатия клавиш типа вызова метода Keys? В первом случае при вводе второго слова старое содержимое просто затирается. Тут нужно просто извлечь уже существующее содержимое, добавить к извлеченной строке добавляемую фразу и записать в свойство снова. А во втором случае надо удостовериться, что курсор перемещен в конец строки. Тогда проблем с затиранием не будетДобрый день коллеги.
Нуждаюсь в вашей помощи вот в каком вопросе.
При вводе текста в соответствующее поле, текст вводится обрывками...(как бы точнее объяснить. К примеру водится первое слово и за ним должно следовать второе, но первое стирается и второе пишется вместо первого). И это не постоянно. Иногда все работает отлично. От чего может такое случаться? Может как то можно замедлить ввод текста?
VBscript.
#3
Отправлено 17 декабря 2008 - 04:35
Если вы используете метод Keys, то обратите внимание на это замечание в хелпе ТС:
Попробуйте поставить этот апдейт.If you use a computer that has several processors or a multiple-core processor (for example, dual-core CPU) and has Windows XP Service Pack 2, then you must install the Windows update #896256 in order for TestComplete to be able to record user actions correctly. The update is available on Microsoft’s web site:
http://support.microsoft.com/kb/896256
Дмитрий
#4
Отправлено 17 декабря 2008 - 07:46
А как вы ввод делаете? Вы присваиваете значение свойству wText или аналогичному, отвечающему за содержимое текстового поля, или же посылаете сигналы нажатия клавиш типа вызова метода Keys? В первом случае при вводе второго слова старое содержимое просто затирается. Тут нужно просто извлечь уже существующее содержимое, добавить к извлеченной строке добавляемую фразу и записать в свойство снова. А во втором случае надо удостовериться, что курсор перемещен в конец строки. Тогда проблем с затиранием не будетДобрый день коллеги.
Нуждаюсь в вашей помощи вот в каком вопросе.
При вводе текста в соответствующее поле, текст вводится обрывками...(как бы точнее объяснить. К примеру водится первое слово и за ним должно следовать второе, но первое стирается и второе пишется вместо первого). И это не постоянно. Иногда все работает отлично. От чего может такое случаться? Может как то можно замедлить ввод текста?
VBscript.
Ввожу с помощью метода Keys.
Call w1.Keys("TQSDW1U-AU9YDD6-T2F9UKK-A2G5HQ")
Мир для него, хоть на миг, - а иной»
ХОДАСЕВИЧ В
#5
Отправлено 17 декабря 2008 - 07:48
Здравствуйте.
Если вы используете метод Keys, то обратите внимание на это замечание в хелпе ТС:Попробуйте поставить этот апдейт.If you use a computer that has several processors or a multiple-core processor (for example, dual-core CPU) and has Windows XP Service Pack 2, then you must install the Windows update #896256 in order for TestComplete to be able to record user actions correctly. The update is available on Microsoft’s web site:
http://support.microsoft.com/kb/896256
У меня стоит Windows XP SP3. И процессор AMD Athlon XP 1700+
Нужно ли ставить этот апдэйт под мой проц? Он же не многоядерный
Мир для него, хоть на миг, - а иной»
ХОДАСЕВИЧ В
#6
Отправлено 17 декабря 2008 - 09:06
1) Если вы используете нестандартную клавиатуру (например, с кучей дополнительных кнопок) со специфическим драйвером, - попробуйте этот самый драйвер отключить. В частности, я сталкивался с ситуацией, когда метод SendKeys объекта Wscript.Shell не вводил некоторые символы именно из-за работающего драйвера клавиатуры.
2)
К примеру водится первое слово и за ним должно следовать второе, но первое стирается и второе пишется вместо первого). И это не постоянно.
Эти симптомы вообще больше похожи на то, что в приложении стоит какой-то обработчик события ввода данных с клавиатуры. Проверьте, может быть эта ситуация наблюдается для каких-то специфических полей? И попробуйте воспроизвести эту же проблему с каким-то стандартным приложением (скажем, в блокноте в диалоге Page Setup, там много разных полей).
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#7
Отправлено 17 декабря 2008 - 12:13
Ну, и как альтернативное решение, не проливающее, правда, свет на причину проблемы, вы можете просто присваивать нужным полям текст через свойство wText.
Дмитрий
#8
Отправлено 17 декабря 2008 - 14:08
А может проблема в том, что поле на самом деле не одно, а 4 разных для каждого сегмента. Ну как при вводе серийника. Там 4-5 полей и для каждого сегмента отдельное поле. И если это поле переполняется, то старый контент может затереться или просто не вводиться дальше. Может там в каждое поле нужно вводить текст индивидуально.Ввожу с помощью метода Keys.
Call w1.Keys("TQSDW1U-AU9YDD6-T2F9UKK-A2G5HQ")
Опять же, а вручную если набрать вышеприведенный серийник (уж очень на него похоже ), полностью эту последовательность символов, то текст введется корректно?
#9
Отправлено 18 декабря 2008 - 08:24
У этого объекта нету такого свойства wText. Но текст туда вводить можно.Приветствую.
Ну, и как альтернативное решение, не проливающее, правда, свет на причину проблемы, вы можете просто присваивать нужным полям текст через свойство wText.
Поле для ввода текста одно. Не разделено.А может проблема в том, что поле на самом деле не одно, а 4 разных для каждого сегмента. Ну как при вводе серийника. Там 4-5 полей и для каждого сегмента отдельное поле. И если это поле переполняется, то старый контент может затереться или просто не вводиться дальше. Может там в каждое поле нужно вводить текст индивидуально.Ввожу с помощью метода Keys.
Call w1.Keys("TQSDW1U-AU9YDD6-T2F9UKK-A2G5HQ")
Опять же, а вручную если набрать вышеприведенный серийник (уж очень на него похоже ), полностью эту последовательность символов, то текст введется корректно?
Мир для него, хоть на миг, - а иной»
ХОДАСЕВИЧ В
#10
Отправлено 18 декабря 2008 - 09:18
Sys.Clipboard = sValue Obj.Keys("^v")
#11
Отправлено 18 декабря 2008 - 09:37
А вы пробовали воспроизводить проблему с другим полем ввода (например с блокнотом или другим полем в вашем приложении)? Эта информация позволит узнать специфично ли это странное поведение для конкретного поля ввода.
Дмитрий
#12
Отправлено 18 декабря 2008 - 11:19
Я не работал с буфером обмена. Не подскажете как поместить текст в буфер и потом от туда его вставить в поле ввода для этого текста?Если принципиально вводить текст именно с клавиатуры методом Keys, то может быть поможет работа через буфер -
Sys.Clipboard = sValue Obj.Keys("^v")
Попробовал сделать тоже самое в блокноте. Все вводится нормальноЗдравствуйте.
А вы пробовали воспроизводить проблему с другим полем ввода (например с блокнотом или другим полем в вашем приложении)? Эта информация позволит узнать специфично ли это странное поведение для конкретного поля ввода.
Мир для него, хоть на миг, - а иной»
ХОДАСЕВИЧ В
#13
Отправлено 18 декабря 2008 - 11:53
Я не работал с буфером обмена. Не подскажете как поместить текст в буфер и потом от туда его вставить в поле ввода для этого текста?Если принципиально вводить текст именно с клавиатуры методом Keys, то может быть поможет работа через буфер -
Sys.Clipboard = sValue Obj.Keys("^v")
Sys.Clipboard = sValue Obj.Keys("^v"):)
А в других полях тестируемого приложения? Спросите у разработчиков, есть ли какие-нибудь обработчики нажатий клавиш у проблемного контрола.Попробовал сделать тоже самое в блокноте. Все вводится нормально
Дмитрий
#14
Отправлено 18 декабря 2008 - 12:51
Все разобрался))) это и было решением проблемы. Вставка текста из буфера.Если принципиально вводить текст именно с клавиатуры методом Keys, то может быть поможет работа через буфер -
Sys.Clipboard = sValue Obj.Keys("^v")
А текст сокращался при написании, потому что внешне поле для ввода текста меньше чем сам текст и он его автоматически обрезал, но текст полностью может в себя вмещать.
Мир для него, хоть на миг, - а иной»
ХОДАСЕВИЧ В
#15
Отправлено 16 января 2009 - 07:03
Поможет ли мне обновление микрософта, ведьу меня 3ий сервис-пак? Переделывать на копи клипбоард не хотелось бы, такая масса тестов уже написана...
#16
Отправлено 16 января 2009 - 11:47
Вам, наверное, установка патча не поможет, так как он уже должен быть включен в SP3. Ситуация, похоже, сложная. Попробуйте обратиться в Посетить мою домашнюю страницуслужбу поддержки.
Дмитрий
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных