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

Фотография

Testcomplete 3.0. Возможности, глюки, фичи...


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

#1 SALar

SALar

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

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 08 октября 2003 - 06:49

Начал юзать триал версию. Столкнулся с кучей подводных камней. Может быть кто подскажет как их обходить по другому.
--------------------------------------------
-- Дано
Приложение на C#. Данные организованы иерархически, доступ через дерево. Одни и те же команды можно отдать по разному (drag'n'drop, контекстное меню, горячие клавиши, ...).

-- Пишем простенький тест сьют для проверки дерева:
1) активация приложения
2) Создание папок и обьектов
3) Перемещение папок и обьектов
4) Удаление папок и обьектов

-- В результате было установлено:
1) После активации приложения нужно ставить задержку. Минимально – 650 мсек, рекомендуется 1500 мсек.
2) Очень плохо реагирует на щелчки на попап окошках. Стабильная работа достигается только при использовании клавиатуры. Получается, что работу мыши на попах окошках тестировать вообще нельзя?
3) Глючит на drag’n’drop. Срабатывает примерно в 25% случаев. Нельзя тестировать?
4) Не воспринимает самодельное меню модулей. Обойти можно, но накладно. Либо перед каждым тестом инициализировать правильное состояние вручную, либо дописывать дополнительный программный интерфейс
-----------------------------
Что скажете состоятельные кроты?
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#2 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 08 октября 2003 - 07:08

Сам использую тот же триал пока идёт процесс покупки, то есть опыта с тулом мало, но кое в чём могу пособить.
Часть проблем вы обознали сразу с решением, я тогда чуток покоментирую.

1) После активации приложения нужно ставить задержку. Минимально – 650 мсек, рекомендуется 1500 мсек.

Была такая трабла - активизация и окошко логина. Активизация одной функцией, обработка логина другой. Пока не поставили задержку, окошко логина "ожидалось" - скипт отваливался.

2) Очень плохо реагирует на щелчки на попап окошках. Стабильная работа достигается только при использовании клавиатуры. Получается, что работу мыши на попах окошках тестировать вообще нельзя?

Смотрим в код.
Вы активизируете попап-окошки? То есть у нас был такой трабл с окнами, решилось добавлением строчек вида
Set w = p.MainForm
w.Activate

То есть сначала активизируем явно это окошко, потом опять таки активизируем контрол (сет фокус), потом говорим клик. Потому как просто клик иногда просто не срабатывает.
То есть такой вот код:
Call w.cmdReference_3.SetFocus
Call Sys.Keys("[Enter]")
Вместо однострочно клика на кнопке.


3) Глючит на drag’n’drop. Срабатывает примерно в 25% случаев. Нельзя тестировать?

Не пробовал - скоро будем, скажу. (может даже сегодня)

4) Не воспринимает самодельное меню модулей

Что такое самодельное меню? У нас меню генерируется программой в рантайме и мы по нему очень неплохо умеем ходить.

Надеюсь что к нам присоединятся разработчики тула, ответы будут полнее да и меньше будут напоминать тыкание слепого.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#3 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 08 октября 2003 - 09:00

По поводу драг_энд_дропа, как обещался - попробовал.

Call m.Object_9.Drag(229, 131, -140, 5)

Вот такая к примеру кострукция работает замечательно и устойчиво. С чем у Вас проблемка?
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#4 SALar

SALar

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

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 10 октября 2003 - 10:44

1. Понятно, так и будем обходить.

2.

Смотрим в код.
Вы активизируете попап-окошки? То есть у нас был такой трабл с окнами, решилось добавлением строчек вида
    Set w = p.MainForm
    w.Activate

То есть сначала активизируем явно это окошко, потом опять таки активизируем контрол (сет фокус), потом говорим клик. Потому как просто клик иногда просто не срабатывает.
То есть такой вот код:
    Call w.cmdReference_3.SetFocus
    Call Sys.Keys("[Enter]")
Вместо однострочно клика на кнопке.

Честно говоря не понял. Последняя строка Call Sys.Keys("[Enter]") означает нажатие Enter. Так это у меня прекрасно работает. Мне клик нужен. Приведу более подробно.

-- Последовательность
a) Из контектного меню отдать команду на удаление папки. -> Выскочит окно запроса на удаление.
B) Подтвердить удаление. -> Папка удалена.

-- Первый вариант реализации: нажатие Enter.
   Set p = Sys.Process("explorer")
    Set w = p.Window("Shell_TrayWnd")
    w.Activate
    Call w.Window("ToolbarWindow32", "Выполнение приложений").Click("Имя приложения", True)
    Set p = Sys.Process("Имя процесса")
    Set w = p.ClientMainForm_6
    w.Activate
    Call w.tvCardfile.ClickR("|рутовый элемент|2")
    Call w.PopupMenu.Click("[6]")                                            ' команда на удаление

    Call Sys.Keys("[Enter]")

Все работает прекрасно, никакой допонительной активации не надо.

-- Второй вариант. Клик на "Ok".
   Set p = Sys.Process("explorer")
    Set w = p.Window("Shell_TrayWnd")
    w.Activate
    Call w.Window("ToolbarWindow32", "Выполнение приложений").Click("Имя приложения", True)
    Set p = Sys.Process("Имя процесса")
    Set w = p.ClientMainForm_6
    w.Activate
    Call w.tvCardfile.ClickR("|рутовый элемент|2")     
    Call w.PopupMenu.Click("[6]")                                            ' команда на удаление

    Set w = p.ClientMainForm_8
    w.Activate
    w.ClientMainForm.Click

Не работает. Пробовал и так и эдак. Ни в какую ни идет. Вернее срабатывает изредка, что еще хуже.
Еще момент. Что означает цифра после p.ClientMainForm_ ? Она разная при записи одного и того же скрипта в разное время. Что ЭТО? И, главное, как с ЭТИМ бороться?
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#5 SALar

SALar

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

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 10 октября 2003 - 11:26

3) С drag'n'drop кажется разобрался. Есть у меня сильное подозрение, постепенно превращающееся в твердую уверенность, что при драг энд дропе этот тул работает не с обьектами (что было бы логично и нормально), а с местоположением (что мне нафиг не нужно). Т.е. он НЕ перетаскивает папку "1" в папку "2", а делает перетакивание чего-то, неизвестно чего в данном месте. Если дерево было раскрыто/закрыто как-то по другому или есть лишний элемент,то скрипт никогда не сработает правильно. А каждый раз вручную активировать правильное состояние дерева - это знаете ли накладно. Сейчас он правда и в идеальном случае не очень работает. Не знаю почему. Вчера бросал, сегодня не хочет. Скрипт тот же.
   Set p = Sys.Process("explorer")
    Set w = p.Window("Shell_TrayWnd")
    w.Activate
    Call w.Window("ToolbarWindow32", "Выполнение приложений").Click("Имя приложения", True)
    Set p = Sys.Process("Имя процесса")
    Set w = p.ClientMainForm
    w.Activate
    Call w.Object.CardfilePanel.tvCardfile.Drag(46, 41, 0, 20)

Кроме того с завидной регулярностью делает неправильную запись скрипта.
Вместо:
   Call w.Object.CardfilePanel.tvCardfile.Drag(46, 41, 5, 21)
Пишет:
   Call w.Object.CardfilePanel.tvCardfile.Click("|123|2")
Без комментариев.

4) У нас вызов рабочих полей организован как в последнем "Касперском". Там слева два модуля "стандарт"/ "эксперт" и в каждом набор юнитов. У нас организация такая же. Так вот, переключаться из одного в другое testcomplete не умеет.
--------------
В общем, если бы я тестировал testcomplet, в моем отчете стояло бы заключение:
В данный момент продукт не готов к поставке конечному пользователю, ввиду наличия большого числа серьезных ошибок и неполной реализации основного функционала. Продукт готов к передаче в бета тестирование для демонстрации потенциальных возможностей и сбора откликов.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#6 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 10 октября 2003 - 12:37

Честно говоря не понял. Последняя строка Call Sys.Keys("[Enter]") означает нажатие Enter. Так это у меня прекрасно работает. Мне клик нужен.
Приведу более подробно.

Вот мы клики на кнопках (в вашем случае на пункте меню - имхо не суть) заменили на сет фокус и ентер. (по отдельности сет фокус и ентер работают хорошо - вместе дают желаемый клик на кнопке :))

   Set w = p.ClientMainForm_8
   w.Activate
   w.ClientMainForm.Click
Не работает. Пробовал и так и эдак. Ни в какую ни идет. Вернее срабатывает изредка, что еще хуже.

А если попробовать
w.ClientMainForm.SetFocus
Call Sys.Keys("[Enter]")
? Я как раз об этом варианте и говорю. Передать фокус, потом ткнуть как по ентеру.

Еще момент.
Что означает цифра после p.ClientMainForm_ ? Она разная при записи одного и того же скрипта в разное время. Что ЭТО? И, главное, как с ЭТИМ бороться?

С этим сталкнулись ещё в такой ситуации. есть контрол который просто стоит в форме два раза - тул ему чесно во второй раз даёт своё имя, с циферькой. Если много раз запускать и стопать тул под тестом из комплита получаем в приставке новую цифру.
Мы решали "классически" - перезапускали сам ТестКомплит. После этого он начинал вопросизводить как бы в режиме в котором и записывал. Имхо бага, но мы так выворачивались.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#7 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 10 октября 2003 - 12:48

при драг энд дропе этот тул работает не с обьектами

Вы таскаете какой то обычный обьект (папка, файлик, не знаю, то что студия предлагает)? Потому как в моём случяае перетаскивается наш обьект, графический, в графическом пакете, его тул просто таскал эмулируя "взять с таких координат, опустить на такой", что в моём слуаче логично, как мне кажется.

переключаться из одного в другое testcomplete не умеет

Может не до конца представил проблему, но таки попробую :)
Когда есть переход на другую закладку с элементами (ваше переключение в другой режим) я записываю скрипт с вызова этой самой закладки - тогда тул видит и закладку и элементы. Если записывать нечто с большим кол-вом элементов, потом перейти на другой контрол с другим набором элементов - тул не все видит. Проблема имхо ваша, так?
Если таки так - то побейте срипт на маленькие, которые начинаются с вызова контрола с которым будете работать.


каждый раз вручную активировать правильное состояние дерева - это знаете ли накладно

Вот тут пардон - не понял. А как вы будете ходить по дереву, то есть работать с его моделью, обращаться к узлам дерева кроме как через модель парента - то есть контрола самого дерева?
Или я не так понял, или вы действительно очень многого хотите от тула, коллега.
Хочу с чем то работать - начинаю с нулевой точки, передаю фокус, перехожу на элемент, потом работаю с его свойствами и так далее. По-моему логично. Могу ошибаться, но это опчее для тулов такого ранга.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#8 Impr

Impr

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

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

Отправлено 14 октября 2003 - 12:52

Здоровья всем.
При использовании trial версии TestComplete 3.0 наблюдался такой баг --- под операционкой Windows2003 небыло функциональности для Open Application. То есть все возможности которые так интересно описывались в Helpe были недоступны. Например:

Set w = p.MainForm
w.Activate

Никакого MainForm (а также Form1 и пр.) не наблюдалось, несмотря на то, что у приложения в ObjectBrowser'е стоит значок открытости. Кроме того, не мог запустить программы на C#, когда был установлен NETClient.pls.
После письма в службу поддержки, пришел ответ --- ошибка будет исправлена в следующей версии (TestComplete 3.0.1).
В связи с этим хочу спросить --- как будут распространяться (похоже многочисленные) новые версии, если я, все таки приобрету этот замечательный продукт.
  • 0

#9 Гость_Guest_*

Гость_Guest_*
  • Guests

Отправлено 14 октября 2003 - 15:44

Новые версии - отнюдь не многочисленные, а выходят с периодичностью примерно в год. За получение новой версии (изменяется старшая цифра номера) надо платить. Обновления (изменяется младшая цифра номера) выходят раз в 2-3 месяца в плановом порядке. При выходе обновления все зарегистрированные пользователи оповещаются службой поддержки (часто еще и сообщением в новостной группе на forums.automatedqa.com) и получают обновление бесплатно с веб-узла компании. В экстренном случае возможен выход патча, который отсылается адресату и (часто) помещается на форум.

--
Regards,
Alex
[TeamAQA]
================================

#10 KRaB

KRaB

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

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Казьмин Роман Васильевич
  • Город:Харьков

Отправлено 10 ноября 2003 - 16:01

Привет всем,
Обнаружил еще один неприятный дефект:
Делаю следующее
1. Создаю новый проект (например Delphi)
2. Добавляем к примеру следующий код :
a:=123;
a:=123;
a:=123;
a:=123;
a:=123;
a:=123;
3. Сохраняю проет с любым именем.
4. Вызываю "Replace Text" диалог (Ctrl+R).
5. "Text to find" = 123
"Replace with" = 321
Press "Replace All" button.
6. Ответ "All" на подверждение замены.
7. Все "123" будут заменены на "321" в редакторе.
8. Сохраняем проект
9. Закрываем и открываем проект заново.
Добавленный код будет выглядить вот так :
a:=321;
a:=321;
a:=123;
a:=123;
a:=123;
a:=123;
Т.е. только превые два элемента были заменены а остальные нет.

Мелочь а неприятно, причем самое неприятное, что прога ругается на код которого визуально уже нет :(
  • 0
Yours sincerely,

Roman Kazmin
Verificaiton Architect
Validio Ukraine

#11 Гость_Guest_*

Гость_Guest_*
  • Guests

Отправлено 21 января 2004 - 08:29

После письма в службу поддержки, пришел ответ ---  ошибка будет исправлена в следующей версии (TestComplete 3.0.1).
В связи с этим хочу спросить --- как будут распространяться (похоже многочисленные) новые версии, если я, все таки приобрету этот замечательный продукт.


Добрый день,

Смотрите на сайте компании http://www.automated...ort/version.asp. Текущая версия TestComplete 3.0.3. Она же сейчас доступна в качестве триала.

Минорные обновления TestComplete выпускаются периодически раз в 1-2 месяца. Они бесплатны. О выпуске обновлений уведомляются все зарегестрированные пользователи. Вы также можете подписаться на получение новостей о выпуске новых версий и продуктов компании при скачивании демо версии или по ссылке http://www.automated...ubscription.asp

Обновления до следующей major версии связаны с серьезным улучшение характеристик и возможностей продукта, видимо поэтому компания берет за это деньги. Однако, для зарегестрированных пользователей предыдущих версий компания предлагает специальную цену обновления. Так TestComplete Standart 3.x стоит $349.99, а для пользователей TestComplete 2.x - 179.99$. TestComplete Enterprise 3.x стоит $599.99, а для пользователей TestComplete 2 Standard - $429.99 и для пользователей TestComplete 2 Enterprise - $299.99.

Подробную информацию о ценах можно найти на сайте компании http://www.automated.../order.asp?id=0

Удачи !


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

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