понедельник, 23 мая 2011 г.

Веселости TestComplete

Читала вчера доки по TestComplete... да да... именно этим я и занималась небольшую часть воскресенья))) И вот ну никак не могла пройти мимо ссылочки с надписью "Грязные" трюки :), выглядело заманчиво. Что же там оказалось?
Оказался там список с разными интересностями в Test Complete, решила, что обязательно проверю все в понедельник!


1. Зарезервированная переменная MSG.

Создала пустую функцию в TestComplete и выполнила строчку с выведением сообщения в лог:

function test(){
    Log.Message(MSG);
}

не обманули :), в результате сообщение получилось странное:


и это сообщение явно не соответствует ожидаемому:

 Так получается, поскольку, как было сказано на tctutorial.ru, MSG — это зарезервированное имя структуры, которая содержит элементы Win32-сообщения.

2. Точка в конце строки кода.

"Если вам необходимо запустить одну строку из редактора, нет необходимости помещать ее в отдельную функцию. Достаточно в конце строки перед точкой с запятой (если таковая имеется) поставить обычную точку. Например, вставьте в редактор следующую строку:
Sys.Process("explorer").Terminate();
и поставьте точку перед точкой с запятой:
Sys.Process("explorer").Terminate().;
В результате у вас завершится процесс explorer и пропадет панель задач :)" tctutorial.ru

Вот эта штука так и не получилась, т.к. появлялось syntax error.

3. Окно Dialog Customizer

 Если перейти TestComplete -> Tools -> Options и затем нажать комбинацию клавиш Ctrl-Alt-Shift-c, то в результате мы сможем редактировать окно Options.

Менять ничего не стала, а то могу так наворотить, что потом лишь переустановкой TestComplete
можно будет спастись.

4. Вычисление значений выражений в режиме отладки

"Если поставить брекпоинт на какой-то строке, то во время работы скрипта TestComplete приостанавливает выполнение скрипта в этом месте. Если во время этой паузы навести курсор мыши на переменную (или выделить какое-то выражение и навести курсор мыши на выделенный текст), TestComplete выдаст значение переменной/выражения во всплывающей подсказке.
Так как TestComplete старается вычислять значения выражений, на которые мы наводим курсор, это может приводить к странным последствиям. Например:
  • если навести курсор мыши на строку Runner.Stop();, то выполнение скрипта прекратится и TestComplete выйдет из режима Debug
  • если навести курсор мыши на строку BuiltIn.ShowMessage("..."), TestComplete покажет соответствующее сообщение
  • если в панели Watch List ввести выражение Sys.HighlightObject(...) и вместо многоточия вставить имя любого существующего объекта, TestComplete подсветит этот" tctutorial.ru


Этот пункт для меня новым не оказался, поскольку зачастую при отладке получалось так, что наводила курсором на функцию, и он выполнялась. Тут уже не важно, на какую функцию навести, экспериментировать и вешать TestComplete можно бесконечно ;)

Использовался TestComplete 7

2 комментария:

  1. Насчет строки кода: панель задач пропадала,да, и если написать вызвать у explorer-а метод Close(), то винда попросила выключиться.

    Условие одно (у меня так прокатило): написать строку (например,Sys.Process("explorer").Close()) с точкой в конце, и подождать немного (как ждут выплывающего подсказчика методов в какой-нибудь IDE)

    ОтветитьУдалить
  2. Причем, если надо опять выполнить строчку, то надо точку стереть, написать заново и подождать. :)

    Внизу в строке состояния пишется [Parsing script...] и выполняется строка.

    ОтветитьУдалить